VS2010编译Qt4.8.2的64版本库

时间:2023-03-10 06:46:32
VS2010编译Qt4.8.2的64版本库

安装qt-win-opensource-4.8.2-vs2010.exe(从http://download.qt.io/archive/qt/4.8/4.8.2/下
载),这个是32位的,里面有编译好的库,可以直接用来开发,里面也有src源文件,现在要用源文

件编译VS2010下使用的64位的库

确定自己的编译机器是64位

从开始菜单->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio x64 Win64

命令提示(2010)
进入VS2010的命令行窗口

c:\Qt\4.8.2>configure -prefix c:\qt -debug-and-release -platform win32-msvc2010 -opengl

desktop -qt-sql-sqlite -qt-zlib -qt-style-windowsvista -qt-libpng -qt-libjpeg -nomake

demos -nomake examples -nomake tests -mp

如果不想编译某一模块,例如不想使用WebKit模块,在上述命令中添加 -no-webkit

此时会有一个选项 是选择商业版还是开源版,选择开源版输入字母o
接下来会问你是否接受许可之类的,输入字母y

完成之后,会显示
Qt is now configured for building. Just run nmake.
To reconfigure, run nmake confclean and configure.

c:\Qt\4.8.2>nmake

遇到错误
。。。。。。。。。。
platform\DefaultLocalizationStrategy.cpp(327) : error C2001: 常量中有换行符
platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: 宏扩展中遇到
意外的文件结束
。。。。。。。。。。
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\BIN\amd64\cl.EXE"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\BIN\amd64\nmake.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
解决办法:是双引号出了问题,一个是中英文问题,另一个是"的个数
打开C:\Qt\4.8.2\src\3rdparty\webkit\Source\WebCore\platform

\DefaultLocalizationStrategy.cpp
定位到325行和327行,将
"Look Up “%@”" 修改为
"Look Up ""%@"""
"Look Up “<selection>”" 修改为
"Look Up ""<selection>"""
修改保存后,重新执行nmake命令

大概需要花2~3小时的样子编译完成。我有点奇怪的是,我在配置时,写的输出路径是
-prefix c:\qt
我发现生成的DLL给我放在了C:\Qt\build\x64\bin目录下,其中\build\x64\bin是自动创建的,不

过也有可能是我前几次尝试配置的结果。不管怎样,Qt的DLL是生成完了。

接下来执行安装命令,它负责将include和lib以及其他的东西放到C:\Qt\build\x64下
c:\Qt\4.8.2>nmake install
这个也需要执行很久,约半个小时

注意修改环境变量QTDIR的值C:\Qt\build\x64和QT_BIN的值C:\Qt\build\x64\bin