您的位置:首页 > 编程语言 > Qt开发

用MSVC2015编译Qt5.6(包含openssl、webengine)

2016-05-05 18:17 363 查看

依赖的开发工具

Visual Studio 2015,这个没什么好说的。

ActivePerl

Python 2.7

Ruby

依赖的三方库

icu 解压即用,比如解压到C:\icu4c

openssl PS: 不要以为版本号看起来更高就下载那个openssl-1.0.2h.tar.gz,该版本不兼容!

编译openssl

解压下载的openssl源码,比如解压到C:\openssl-1.0.1t

打开“VS2015 开发人员命令提示“

执行命令 cd C:\openssl-1.0.1t

执行命令 perl Configure VC-WIN32 no-asm –prefix=C:\openssl-1.0.1t\win32dll

执行命令 ms\do_ms

执行命令 nmake -f ms\ntdll.mak

执行命令 nmake -f ms\ntdll.mak install

编译Qt5.6

修改系统语言为en-US。控制面板->时间、语言和区域->区域和语言->切换到“管理”选项卡->点击“更改系统区域设置”->选择“英语(美国)”后确定,系统会提示要重启,请保存好自己的手头工作后重启电脑。PS:这一步是必须的,否则webengine无法编译!

下载Qt5.6源码并解压,比如解压到C:\qt-everywhere-opensource-src-5.6.0。

用文本编辑器打开C:\qt-everywhere-opensource-src-5.6.0\qtwebengine\src\3rdparty\chromium\third_party\skia\src\core\SkEdge.cpp,找到第231行的fCurveCount = SkToS8(1 << shift); 修改为fCurveCount = SkToS8(1i64 << shift);

在任一目录建立批处理文件 BuildQt5.6.bat,填入以下内容(PS 加粗内容需要根据你的软件安装或解压目录自行替换):

set MSVC_PATH=VS安装目录

set QMAKESPEC=win32-msvc2015

set QT5_SRC_PATH=C:\qt-everywhere-opensource-src-5.6.0

set QT5_INSTALL_PATH=Qt编译完成后的安装目录,比如C:\Qt5.6-msvc

set PERL_PATH=ActivePerl安装目录

set PYTHON_PATH=Python2.7安装目录

set RUBY_PATH=Ruby安装目录

set WIN_FLEX_BISION_PATH=%QT5_SRC_PATH%\gnuwin32\bin

set ICU_PATH=icu解压目录

set OPENSSL_PATH=openssl库目录,编译openssl时configure设置的prefix参数,比如C:\openssl-1.0.1t\win32dll

set PATH=%QT5_SRC_PATH%\qtbase\bin;%QT5_SRC_PATH%\qtbase\lib;%QT5_SRC_PATH%\gnuwin32\bin;%RUBY_PATH%\bin;%PATH%

set PATH=%PATH%;%PERL_PATH%\bin;%PYTHON_PATH%

set LIB=%LIB%;%ICU_PATH%\lib;%OPENSSL_PATH%\lib

set INCLUDE=%INCLUDE%;%ICU_PATH%\include;%OPENSSL_PATH%\include

set PATH=%PATH%;%ICU_PATH%\bin;%OPENSSL_PATH%\bin;%ICU_PATH%\lib

call “%MSVC_PATH%\VC\vcvarsall.bat” x86

cd /D %QT5_SRC_PATH%

call %QT5_SRC_PATH%\configure -prefix %QT5_INSTALL_PATH% -debug-and-release -opensource -confirm-license -platform win32-msvc2015 -c++11 -target xp -opengl dynamic -mp -icu -openssl -nomake examples -nomake tests -no-directwrite

nmake

nmake install

xcopy /y /k “%ICU_PATH%\lib\icudt56.dll” “%QT5_INSTALL_PATH%\bin\”

xcopy /y /k “%ICU_PATH%\lib\icuin56.dll” “%QT5_INSTALL_PATH%\bin\”

xcopy /y /k “%ICU_PATH%\lib\icuuc56.dll” “%QT5_INSTALL_PATH%\bin\”

xcopy /y /k “%ICU_PATH%\lib\icudt.lib” “%QT5_INSTALL_PATH%\lib\”

xcopy /y /k “%ICU_PATH%\lib\icuin.lib” “%QT5_INSTALL_PATH%\lib\”

xcopy /y /k “%ICU_PATH%\lib\icuuc.lib” “%QT5_INSTALL_PATH%\lib\”

xcopy /y /k “%OPENSSL_PATH%\bin\libeay32.dll” “%QT5_INSTALL_PATH%\bin\”

xcopy /y /k “%OPENSSL_PATH%\bin\ssleay32.dll” “%QT5_INSTALL_PATH%\bin\”

xcopy /y /k “%OPENSSL_PATH%\lib\libeay32.lib” “%QT5_INSTALL_PATH%\lib\”

xcopy /y /k “%OPENSSL_PATH%\lib\ssleay32.lib” “%QT5_INSTALL_PATH%\lib\”

pause

保存BuildQt5.6.bat,运行它,耐心等待几个小时吧。在我的E3-1230 V2+8G RAM+SSD的机器上都编译了4个小时。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt