(亲测)WIN7+VS2010+QT4.8.1+静态编译 (可以百度网盘下载QT4.8.5 x64编译结果)

来源:互联网 发布:怨气撞铃网络剧 编辑:程序博客网 时间:2024/05/21 11:25

注:我编译的win7 vs2010 x64位 Qt静态库 分享在百度网盘:http://pan.baidu.com/s/1EdPJ5, 希望对大家有帮助;

前言:

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

  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)


 

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


 

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

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编译库定位


 

 

 

五、打开QT工程

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

 


 

后言:

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

原创粉丝点击