使用VS2010编译QT
来源:互联网 发布:康奈尔大学知乎 编辑:程序博客网 时间:2024/04/20 11:52
首先不要使用中文目录,
发布QT程序时,为了使没有QT依赖库的环境中也能运行QT程序,这就需要静态编译你的QT程序。要达到这个目的,首先必须静态编译你的QT库文件
1 下载Qt的安装包和VS2010的Qt插件
2. 安装Qt Library, 注意不能装Qt SDK 我装了Qt SDK1.1.2之后,找不到configure程序,也不知道怎么回事。
3. 安装Qt的VS开发插件
4. 编译Qt
Qt默认使用mingw进行编译,如果要使用VS2010开发,需要将Qt重新编译。
进入开始菜单Microsoft Visual Studio 2010,Visual Studio Tools,Visual Studio Command Prompt (2010),需要注意的是,这里面必须是使用Visual Studio Command Prompt (2010),不能使用CMD的Dos窗口
进入Qt的安装目录后,执行CD Qt,进入Qt的根目录
运行命令 configure -platform win32-msvc2010
配置编译选项:Configure -debug-and-release -opensource -static-no-qt3support -mp -platform win32-msvc2010
-release :编译版本
-static :静态编译,这个选项必须选择
后面的参数是选择性编译,为了加快编译速度(-no-去掉的模块名)
o(选择opensource模式)回车,Y(同意license)回车
接着就会自动配置Qt的编译环境,等配置结束后,运行nmake,回车,Qt就会开始漫长的编译过程,这段时间非常长,需要4个小时以上,大家可以在晚上睡觉的时候进行编译。
这里可以不使用nmake来编译,使用jom.exe,这是一个替代nmake的工具能够利用多核CPU的资源来并行编译,能缩短编译时间
jom -j 2 即可 2 表示2核
下面是地址
http://qt.gitorious.org/qt-labs/jom 实践证明,这个不好用,编译过程中出错,还是老老实实的nmake吧
我在编译的时候有两次错误需要处理,解决方法如下
编译大概1个小时之后,出现:
01.api/qscriptextensionplugin.h(43): Error: Undefined interface
02.NMAKE : fatal error U1077: 'C:/Qt/2009.05/qt/bin/moc.exe' : return code '0x1'
03.Stop.
04.NMAKE : fatal error U1077: '"d:/Program Files/Microsoft Visual Studio 9.0/VC/BIN
05./nmake.exe"' : return code '0x2'
06.Stop.
07.NMAKE : fatal error U1077: 'cd' : return code '0x2'
08.Stop.
api/qscriptextensionplugin.h(43): Error: Undefined interface
NMAKE : fatal error U1077: 'C:/Qt/2009.05/qt/bin/moc.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"d:/Program Files/Microsoft Visual Studio 9.0/VC/BIN
/nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
以上是出错代码,解决方法是将
qt/src/script/tmp/moc/debug_shared/mocinclude.tmp
qt/src/script/tmp/moc/release_shared/mocinclude.tmp
删除,然后继续编译。
过了很长时间之后,在编译webkit部分的代码时,会发生错误,系统会停止编译
D:/tools/Qt/2010.05/qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/moc_Sock
etStreamHandlePrivate.cpp(97) : error C2065: “QSslError”: 未声明的标识符
D:/tools/Qt/2010.05/qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/moc_Sock
etStreamHandlePrivate.cpp(97) : error C3861: “socketSslErrors”: 找不到标识符
正在生成代码...
NMAKE : fatal error U1077: “"D:/tools/Microsoft Visual Studio 10.0/VC/BIN/cl.EX
E"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"D:/tools/Microsoft Visual Studio 10.0/VC/BIN/nmake
.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
解决方法是将
qt/src/3rdparty/webkit/WebCore/tmp/moc/debug_shared/mocinclude.tmp
qt/src/3rdparty/webkit/WebCore/tmp/moc/release_shared/mocinclude.tmp
删除之后可以继续编译(重新执行nmake命令)
然后编译就可以正常了。
下面是配置vs2010
5.配置VS2010的Qt开发环境(VS2010最好是英文版本,Qt对VS2010中文版本可能支持的不好)
等Qt编译好后就可以配置VS2010的开发环境了,进入VS2010,选择Qt菜单,Qt Option,进入下图界面
点击Add,添加Qt的安装目录
此时我又遇到了一个问题,QT in the given path was built using minGW
解决方法如下
删除lib目录下面的libqtmain.a andlibqtmaind.a 文件即可
清理前,切记把C:\Qt\4.7.3下面的 qmake.cache和configure.cache备份到别的地方,然后
nmake confclean 腾出空间。
最后再把C:\Qt\4.7.3下面的 qmake.cache和configure.cache 复制回远处。
如果不这样,安装 qt-vs-addin 后进行 Qt Versions 添加路径时将失败。
- 使用VS2010编译QT
- 使用VS2010编译QT
- VS2010使用静态编译的qt库
- vs2010编译qt
- vs2010静态编译qt
- 编译QT FOR VS2010
- vs2010静态编译qt
- VS2010编译Qt命令
- Qt vs2010 编译问题
- Windows编译64位QT并使用VS2010开发
- 【Qt】使用VS2010对Qt4.8.6源码进行静态编译
- 使用vs2010命令窗口进行Qt 4.8.6 编译
- VS2010 编译64位Qt
- Qt VS2010 编译static版本
- VS2010 编译64位Qt
- vs2010 使用QT
- vs2010中使用qt
- 配置QT、vs2010,不用编译QT
- ubuntu10.10 下安装android 2.2开发环境
- linux 僵尸进程
- 文件上传插件Uploadify在Struts2中的应用,完整详细实例
- 【IT趣事】程序出错后,程序员与测试人员的对白
- 【IT趣事】程序出错后,程序员与测试人员的对白
- 使用VS2010编译QT
- c/c++时间(转)
- 短距离无线定位技术
- ARM Linux静态映射分析
- open 加载和处理图像
- I/O资源如何映射到内核虚拟空间
- C#算法时间测试
- Windows如何用命令修改IP地址,动态和静态切换
- TQ2440 Linux 系统移植(转)