【经验分享】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解释过的.再编译链接就没错了.
可以在我们学校的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解释过的.再编译链接就没错了.
相关文章推荐
- SVN安装部署使用的经验分享
- Win7下,使用VM虚拟机,安装苹果Mac OS经验分享
- VC下使用ADO操作 数据库经验分享(一)
- Windows下使用Qt4.8编译安装qt-qtserialport经验教训
- 在Visual Studio中集成使用 Qt Opensource 版本 ||| 在 QtCreator 使用 VC 编译调试
- 在Visual Studio中集成使用 Qt Opensource 版本 ||| 在 QtCreator 使用 VC 编译调试
- Win7下,使用VM虚拟机,安装苹果Mac OS经验分享
- 在Visual Studio中集成使用 Qt Opensource 版本 ||| 在 QtCreator 使用 VC 编译调试
- 经验分享--免安装Oracle客户端使用PL/SQL
- 经验分享之使用vagrant安装linux虚拟机
- Redis 使用的一些经验分享
- Android使用ShareSDK集成第三方登录和分享(v3.1.2)
- QT4.3.0在VC++ 6.0下安装指南
- CocoaPods安装使用心得,分享给墙内的朋友们
- 使用latex撰写博士,硕士学位论文(浙大博士经验分享)
- 国内外三个不同领域巨头分享的Redis实战经验及使用场景
- 分享:Qt中使用DOM解析XML
- 最新Android实现分享到QQ QZone 博客功能(集成官方SDK,不使用第三方)
- FastDFS 使用经验分享
- 使用U盘安装Windows XP系统的经验