您的位置:首页 > 编程语言 > Qt开发

【经验分享】QT的安装使用,与VC的集成

2007-08-15 05:13 676 查看
一下载QT3.3.2版本的windows安装包
可以在我们学校的FTP上下到 ftp://211.68.71.81/newmirror/pub/Develop/Qt/Trolltech.Qt.Enterprise.v3.3.2-ROR.zip 版本不是最新的,但是也已经够用了.里面自带了一个liciense,安装的时候读取就可以了.
安装一般不会有问题.在安装的过程中会提示你是否集成到IDE中,这时候看你用的是什么IDE了
勾上对应的就行了.
二.测试是否安装成功
新建一个目录hello,创建hello.cpp

1 #include <QApplication>
2 #include <QLabel>
3
4 int main(int argc, char **argv) {
5 QApplication app(argc, argv);
6 QLabel *label = new QLabel("Hello QT World!");
7 label->show();
8 return app.exec();
9 }
这个一个最简单的QT应用,然后我们从命令行下进入该目录
>qmake -project (这个命令会生成一个qt的工程文件,默认名字是目录名)
>qmake (生成Makefile文件,用于编译链接时用)
>nmake (VS的编译器,按照Makefile进行编译链接,生成exe文件)
如果没有问题那么在目录下面将会生成一个hello.exe的文件,运行.

我们也可以使用如下命令生成vc的工程文件,即.dsp文件
>qmake -tp vc hello.pro (根据qt工程文件生成vc工程文件)
打开hello.dsp,进入vc6,选择菜单Tools->Customize..->Add-ins and Macro Files勾选上qt的插件
然后现在我们也可以在vc6中直接编译运行了.

除了命令行方式,我们也可以采用其自带的工具栏上的New QT Project的功能,直接在IDE中进行qt的开发.
细节省略.
注意一个问题,如果我们是利用了vc6的New Project(不是qt的New Project),然后生成一个win32的工程的话,也可以用来编写qt程序.源代码编写方式一样,只需要在qt工具栏上点击"应用QT到当前工程",然后重启IDE即可在当前工程中使用qt了.不过如果程序中运用到了Q_OBJECT这样的宏的时候,由于qt的元编程特性,使到vc6在链接的时候会出现错误.错误信息可能如下

main.obj : error LNK2001: unresolved external symbol ..qt_property(int,int,class QVariant *)" (?qt_property@MyWidget@@UAE_NHHPAVQVariant@@@Z)
main.obj : error LNK2001: unresolved external symbol ..qt_emit(int,struct QUObject *)" (?qt_emit@MyWidget@@UAE_NHPAUQUObject@@@Z)
main.obj : error LNK2001: unresolved external symbol.qt_invoke(int,struct QUObject *)" (?qt_invoke@MyWidget@@UAE_NHPAUQUObject@@@Z)
main.obj : error LNK2001: unresolved external symbol ..qt_cast(char const *)" (?qt_cast@MyWidget@@UAEPAXPBD@Z)

这个时候就还是得用命令行的方式才产生一个vc工程文件,在产生的过程中,nmake会根据Makefile文件自动调用moc元对象解释器,将qt宏代码转换成标准C++代码,这时候你再打开工程,会发现多了一些moc_前缀的文件,那些就是经过moc解释过的.再编译链接就没错了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: