【原创】WIN7+VS2010+QT4.8.1+静态编译 全过程

前言:

先说一些废话,本文成形,参考了大量的网上资料。对此十分感谢。附上一此网址:

http://www.cnblogs.com/elect-fans/archive/2012/03/29/2422816.html

一、下载源码并解压

从QT官网http://qt.nokia.com/ 下载最新的QT源码包,我下载的是4.8.1的版本。文件名为“qt-everywhere-opensource-src-4.8.1.zip”。用解压软件解压到”C:\QT-4.8.1”。

一些说明:

         1、解压路径可随意,但文件目录一定不能包含中文和空格!就算源程序和编译目录满足这个条件,然而QT在编译过程中,会大量使用TEMP文件,Window 7系统的TEMP目录在C:\Users\[用户名]\AppData\Local\Temp下,如果当前用户是中文的名,在QT编译过程中就是致命的。最好的解决办法就是吧window的TEMP目录设置在根目录下(Windows下设置用户的环境变量,把里面的TEMP 和TMP 全部设置成C:\TEMP)

二、编译前的一些准备工作

由于Qt4.8在VS环境下的一些问题,为了避免编译中途出现,需要修改有:

1、删除源码包中bin目录下的syncqt和syncqt.dat文件,如你不放心可将其改名或剪切到别的位置。如不修改将发生 Perl not found in environment - cannot run syncqt 错误。

2、修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的

QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-

QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t   (注意末尾的”-“号区别)

 

如不修改将来如有项目使用wchar_t,qt却编译成wchar_t-,编译会导致连接错误,提示找不到Qwstring;

搜索整个文件,将MD,MDd对应改成MT,MTd,以实现在没有VC库的电脑也能运行Qt程序。

3、修改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));

 

替换成

return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

 

如不修改将出现编译Webkit 时会出现 U1077错误。

三、编译过程

依次打开

开始->所有程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010)

clip_image001

输入命令进入到源码包的目录下。如图:

clip_image002

接下来进行编译前的配置工作。执行配置,完整命令如下:

configure -debug-and-release -fast -static -platform win32-msvc2010 -no-qt3support -script -scripttools -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite -plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -nomake demos -nomake examples -nomake docs –mp

 

配置完成,可以下一步nmake,以开始执行编译。

一些说明:

1、命令最后的-nomake demos -nomake examples -nomake docs,不编译demos,exampls,docs文件,因为编译之后十分大!可达27G-28G。原因是静态库版本,每个程序都单独集成了库,随随便便都可以达到15M!加上这些选项后,这样既可以提高编译速度,也能减小编译后的体积。如果以后想编译,可单独编译,不影响使用。

2、网上资料一般都会有nmake clean,nmake confclean步骤,但强烈建议不要执行上述两个清理工作,编译成功就到此结束。因为会造成后面VS2010编译Qt程序以及QtSDK编译程序出现各种问题,如找不到config.h,qtmaind.lib等等。

3、不建议在configure添加-prex 指定nmake install安装目录,后经实验,编译后,的确可以实现编译完成后能实现静态库链接,且在QtCreator编译出静态程序,但是在VS2010编译程序时,出现很多找不到PDB的警告,所以舍弃之。

四、安装VS插件

安装文件为qt-vs-addin-1.1.10.exe。安装完成后,打开VS2010,可以通过QT菜单进行QT编译库定位

clip_image003

clip_image004

五、打开QT工程

打开QT工程后,稍稍等待左下角提示关联文件包含提示结束,出现“就绪”的提示后,即可像编译普通VC程序一样,点“编译”按键进行编译以及通过调试菜单进行调试。

clip_image005

后言:

我发现,WIN7的截图工具十分好用,推荐一下!!!!!

转载于:https://www.cnblogs.com/xiaole10368/p/5384432.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值