博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2010+win7+QT4.8编译总结
阅读量:5344 次
发布时间:2019-06-15

本文共 3369 字,大约阅读时间需要 11 分钟。

一、配置与编译QT。

qt-everywhere-opensource-src-4.7.4.zip
qt-everywhere-opensource-src-4.8.0.zip
这两个文件是 QT 4.7 和 QT 4.8 的源文件,若需要在 VS2010中使用,需要先编译。
方法:
1.解压文件至目录;
2.进入解压的所在的目录,设置如下环境变量:
SET QTDIR=目录
SET PATH=%path%;目录\bin
SET QMAKESPEC=win32-msvc2010 (VS2008则是 win32-msvc2008)
3.输入编译指令 configure -opensource -debug-and-release -platform win32-msvc2010
更完整的指令如下(添加了 MMX, SSE, SSE2, SQLite, Oracle, ODBC, OPENSSL 支持) :
( 指令假设 Oracle 的 OCI头文件和库文件均位于 F:\app\Administrator\... 目录下,需要注意的需要使用 server 版本中的 oci, client中 OCI的LIB文件命名略有变化,会导致编译时找不到符号 )
( -graphicssystem opengl 选项用于指定图形系统使用 opengl 进行渲染 )
configure -platform win32-msvc2010 -debug-and-release -opensource -script -scripttools -shared -fast -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista -sse2 -mmx -sse -qt-sql-oci -qt-sql-odbc -plugin-sql-oci -plugin-sql-odbc -openssl -mp -graphicssystem opengl -I f:\app\Administrator\product\11.2.0\dbhome_1\oci\include -L f:\app\Administrator\product\11.2.0\dbhome_1\oci\lib\msvc
4.VS2010环境下,编译时有可能碰到如下提示(4.7版无此问题):
(1)Perl not found in environment - cannot run syncqt.
解决方法:将 bin 目录中的 syncqt 和 syncqt.bat 两个文件改名或删除即可。
(2)编译 Webkit 时会碰到 U1077错误,导致编译出错,看输出含义是说宏扩展后的字符串中包含有换行。
解决方法:打开<Qt Dir>\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp ,定位至 327行,改为: return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
注意第一个括号内look up 后的双引号。

5.nmake,约需要数个小时;

此操作会生成大量的临时文件,若执行如下操作或许会有更好的性能:
SET TEMP=R:\
SET TMP=R:\
6.备份 .qmake.cache 和 configure.cache,若不执行清理则无须备份;
7.执行如下命令清理:
(经实际测试,本步骤执行完成后会清理掉 src\corelib\global 目录中的 qconfig.h 和 qconfig.cpp,)
(导致 QT项目不能正确编译,因此不要执行。或是执行本命令之前将上述文件先保存至其他地方。)
nmake confclean
8.清理完成后将 .qmake.cache 和 configure.cache 移回原位,若不执行清理则无须本操作;
9.操作完成。
[我的实际测试中,如果执行了第6步到第9步,会导致新建的 QT项目不能正确编译,所以不应该执行。]
二、配置VS2010的 QT开发环境
1.进入VS2010,选择Qt菜单,Qt Option;
2.点 Add,添加 QT的安装目录,并取名,OK;
3.新建或导入 QT项目;
4.Pro是Qt自带编译器Qt Creator的项目工程文件,如果想使用VS2010开发则需要将原有项目的Pro导入到VS2010的项目文件中,可以使用菜单Qt-Open ;
5.完成。
三、批处理命令示意:
(编译前最好先关闭杀毒软件)
(批处理假设有内存虚拟盘,并且虚拟盘为 R:)
(本批处理会编译 OCI与 ODBC支持,OCI编译时需要用到 Oracle 的相关类,QT 目前不能完全支持 64位开发,要完成本次编译需要使用 32位的 Oracle SRV或是 client.)
@echo off
set tmp=r:\
set temp=r:\
set qtdir=%cd%
set path=%path%;%qtdir%\bin
set qmakespec=win32-msvc2010
move %qtdir%\bin\syncqt %qtdir%\bin\syncqt.bak >nul
move %qtdir%\bin\syncqt.bat %qtdir%\bin\syncqt.bat.bak >nul
choice /c YN /M "src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp 是否已经修改完成?"
goto startconf%errorlevel%
:startconf2
notepad src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp
goto finish
:startconf1
configure -platform win32-msvc2010 -debug-and-release -opensource -script -scripttools -shared -fast -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista -sse2 -mmx -sse -qt-sql-oci -qt-sql-odbc -plugin-sql-oci -plugin-sql-odbc -mp -graphicssystem opengl -I f:\app\Administrator\product\11.2.0\client_1\oci\include -L f:\app\Administrator\product\11.2.0\client_1\oci\lib\msvc
nmake
rem copy *.cache r:\ /y
rem nmake confclean
rem copy r:\*.cache . /y
:finish

转载于:https://www.cnblogs.com/elect-fans/archive/2012/03/25/2416998.html

你可能感兴趣的文章
【题解】luogu p2340 奶牛会展
查看>>
对PostgreSQL的 SPI_prepare 的理解。
查看>>
解决响应式布局下兼容性的问题
查看>>
使用DBCP连接池对连接进行管理
查看>>
【洛谷】【堆+模拟】P2278 操作系统
查看>>
hdu3307 欧拉函数
查看>>
Spring Bean InitializingBean和DisposableBean实例
查看>>
Solr4.8.0源码分析(5)之查询流程分析总述
查看>>
[Windows Server]安装系统显示“缺少计算机所需的介质驱动程序”解决方案
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>
软件开发工作模型
查看>>
Java基础之字符串匹配大全
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
selenium-窗口切换
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
[工具] Sublime Text 使用指南
查看>>
Hangfire在ASP.NET CORE中的简单实现方法
查看>>