用MSVC2015编译Qt5.6(包含openssl、webengine)
2016-05-05 18:17
363 查看
依赖的开发工具
Visual Studio 2015,这个没什么好说的。ActivePerl
Python 2.7
Ruby
依赖的三方库
icu 解压即用,比如解压到C:\icu4copenssl 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学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- Qt 5.6更新至RC版,最终版本近在咫尺
- Qt定时器和随机数详解
- Qt实现图片移动实例(图文教程)
- Qt for Android开发实例教程
- QModelIndex/Role/Model介紹<二>
- Qt Model/View/Delegate浅谈 - QAbstractListModel
- Qt Model/View/Delegate浅谈 - roleNames()
- 基于PyQt5的快速开发框架QFramer
- OSX下安装PyQt
- ok6410开发板移植DirectFB手记
- 【笔记】给Qt内嵌一个Chrome吧
- 【算法】最短路径之A*搜索
- qt入门必备
- 在 Qt4 中使用 C++11
- Hello Word ~ v0.2.2 背单词软件发布 -- By WHYPRO
- ubuntu下opencv和qt的安装配置
- linux下opengl的安装(with qt)
- qt 学习小节