由于qt官网上,没有直接提供x64的安装包,但由于项目需要x64的qt,所以,小编不得不下载qt的源码,经历了一次长达约4个小时的编译过程。今年国庆7天,就遭这事上了,哈哈~~~
几个下载链接:
qt源码及其二进制安装包下载:https://download.qt.io/#userconsent#
我下载的qt是4.8.7,现在已经更新到5.5,但是,我需要配置的CGAL(x64)库只能依赖于qt4.x。
cmake下载:https://cmake.org/
这个下载最新的就好了。
关于qt x64在window下的编译,网上有很多的博客,但是看了好多,本人也主要参考过一个博客(http://blog.sina.com.cn/s/blog_472a9f0c01017x1x.html),实现过。
在此,我根据自己的实践,又重新完善一下,希望大家可以综合参考一下。
1.建议安装DirextX SDK(貌似编译过程检测到需要这个)
链接:https://www.microsoft.com/en-us/download/confirmation.aspx?id=6812
2.编译qt>=4.8需要安装Perl,小编下载的是activeperl版本,试了有用。
链接:http://www.perl.org/get.html
3.下载QT有代码,小编下载4.8.7版本,并加载到E:Librariesqt-everywhere-opensource-src-4.8.7下。
4.设置环境变量
QTDIR=E:Librariesqt-everywhere-opensource-src-4.8.7
QMAKESPEC=win32-msvc2010
5.再PATH环境变量,添加值 E:Librariesqt-everywhere-opensource-src-4.8.7in
6.启动vs2010自带的命令行工具。Start > Programs > Microsoft Visual Studio 2010 > Visual Studio Tools > Visual Studio X64 Command Prompt。如果更新了环境变量,就需要在此重启Visual Studio X64 Command Prompt
7.接下来在Visual Studio X64 Command Prompt就好了,先通过cd语句,进入qt安装目录,这里是
e: cd
cd E:Librariesqt-everywhere-opensource-src-4.8.7
对所有qt组件都进行configure:
configure -debug-and-release -opensource -platform win32-msvc2010
8.configure结束之后,nmake。编译时间较长,耐心等待。
9.编译完之后,在lib里面就有了常用的lib,dll。这里我们是debug和release版本都编译了,所以目录下会出现
问题来了,在Visual Studio X64 Command Prompt输入nmake进行编译的方式,出现的错误(貌似网上编译都出现了问题)不方便查阅。
然后,小编就把步骤8,更换程使用Virtual studio 2010 IDE加载projects.sln,再Build Solution. 可是设置Debug 和Release版本。这样子出现错误,就可以通过error lists进行查阅,并相应的修改源代码了。步骤1-7不变。步骤7configure还是有必要的,如果没有进行configure,源码根目录下就不会出现projects.sln。
同时,小编再测试时候,使用nmake进行编译时候,再bin目录先并未生成assistant.exe,designer.exe这些工具,但是通过vs2010 IDE进行build,则全部生成工具了(小编猜测有可能是VS2010可以把全部库组合起来编译)。所以,小编比较推荐使用IDE进行编译,错误也很快就能定位。(Tips:如果需要运行assistant.exe,designer.exe,需要进行Debug编译,暂时还不知道答案)
当然,使用vs2010 IDE进行编译,还是出现了一些错误啊。进行webkit这个库报错了。小编由于时间关系,没来得及去修复这些源代码的bug,等今后补上吧,在此请大家见谅。但是,大部分库是正常可以使用的了。
本博客还参考以下链接:
qt Installing
http://qt-project.org/doc/qt-4.8/installation.html
Installing Qt for Windows
http://doc.qt.io/qt-4.8/install-win.html
http://www.yaoguangkeji.com/a_Y0jJvrm0.html