Qt5.5.1编译说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一次编译已经成功-webkit可用,SSL可用-开荒之旅,历尽艰辛.
第二次编译已经成功-webkit可用,SSL可用-旧事重提,高歌猛进.
建议参考第二次编译说明.
本机使用Qt官方的安装器,已经安装了msvc2010,msvc2013,msvc2013_64和Qt5.5.1源码.
本文在WIN7 x64下用MSVC2010x64动态编译Qt5.5.1源码.没有编译dbus,sql驱动只编译了sqllite.因为dbus是linux下的,驱动是第三方库,没有安装,就无法编译.
源码根目录README有很多有用信息,Qt官方网页也有很多有用信息.
●前置工具:
1.ActivePerl5.8 or later
2.Python2.7 or later
3.Ruby没找到要求,我用的2.2.4
4.DirectX SDK不然编译失败,提示和ANGLE有关,大意是要DX SDK才能把把opengl映射到A NGLE,就算使用-opengl desktop也编译失败,不清楚为什么.DirectX SDK会自己设置一个环境变量DXSDK_DIR.Qt源码自带angle源码,不用去下载,也不用单独编译.
5.C++ compiler supporting the C++98 standard
前四个工具安装后,会自动配置环境变量,也必须有,否则就得在cmd中再配置.ActivePerl在p ath中必须位于msysgit的perl之前(如果有)
关于Windows SDK 7.1和Visual Studio 2010和Visual Studio 2010 SP1,官方是这么说的: if you use this SDK with Visual Studio 2010, installing the SDK requires installing the foll owing packages in this order.
注意有if,如果没安装SDK 7.1,不用鸟这部分内容.
●第三方库:
1.ICU-采用动态编译,X64 Debug和Release都编译了,并且分开存贮.
2.SSL-采用动态编译,X64 Debug和Release都编译了,并且分开存贮.
第三方库的编译,一定要按要求走到最后一步,编译出来最终是什么目录结构(即安装后),就是什么目录结构,别改.
第三方库的编译,使用Debug版本和Release版本都可以,关键是lib和dll要对应.比如xd.lib 要和xd.dll相对应;x.lib要和x.dll.当然有的库编译出来的D/R名字一样,对于debug版本,它没有在名字后面加后缀d.
第三方库的编译,没有必要编译两个配置,一个Release配置就够了,Qt官方就是这么干的,并且官方用的动态编译.
●注意事项:
[注意]在第一次编译中,编译了ICU和SSL的X64的D和R两个版本(动态编译,所有测试用例
全部通过),但R版本的路径在前,目测QT编译过程中,直接用的R.所以第二次编译中,只提供了R版本.
[注意]如果编译过程中出错,关掉CMD重来,在第一步之后执行,nmake distclean和nmake cl ean.
[注意]此次编译设置的环境变量不会影响系统的环境变量,所设置的环境变量仅对当前cmd 有效.
编译步骤:
1.打开Visual Studio x64 Win64 命令提示(2010).
因为要编译64位的Qt,所以用64位命令行.
切到源码根目录,设置环境变量,仅针对当前命令行有效.
注意release在前.
cd /d D:\Qt\5.5.1\5.5\Src
echo %QtSrc%
echo %PATH%
echo %INCLUDE%
echo %LIB%
echo %QMAKESPEC%
echo %DXSDK_DIR%
第一次编译使用的环境变量
SET QtSrc=D:\Qt\5.5.1\5.5\Src
SET PATH=D:\Microsoft DirectX SDK (June 2010)\Developer Runtime\x64;%QtSrc%\qtbase\bi n;%QtSrc%\gnuwin32\bin;D:\icu55.1X64\Release\bin64;D:\icu55.1X64\Debug\bin64;D:\ssl1.0.2f X64\Release\bin;D:\ssl1.0.2fX64\Debug\bin;%PATH%
SET INCLUDE=D:\Microsoft DirectX SDK (June 2010)\Include;D:\icu55.1X64\include;D:\ssl1.0. 2fX64\include;%INCLUDE%
SET LIB=D:\Microsoft DirectX SDK (June 2010)\Lib;D:\icu55.1X64\Release\lib64;D:\icu55.1X64 \Debug\lib64;D:\ssl1.0.2fX64\Release\lib;D:\ssl1.0.2fX64\Debug\lib;%LIB%
SET QMAKESPEC=win32-msvc2010
第二次编译使用的环境变量
SET QtSrc=D:\Qt\5.5.1\5.5\Src
SET PATH=%QtSrc%\qtbase\bin;%QtSrc%\gnuwin32\bin;D:\icu55.1X64\Release\bin64;D:\ssl1.0.2 fX64\Release\bin;%PATH%
SET INCLUDE=D:\icu55.1X64\include;D:\ssl1.0.2fX64\include;%INCLUDE%
SET LIB=D:\icu55.1X64\Release\lib64;D:\ssl1.0.2fX64\Release\lib;%LIB%
SET QMAKESPEC=win32-msvc2010
SET DXSDK_DIR=%DXSDK_DIR%