因为项目需要,用到了qt msvcr2013 x86 版本 ,但是官方下载的qt安装包里面只有x64的,因此决定自己编译x86的版本。
编译所需要的工具:
qt源码包 ,python ,vs2013
qt源码包下载
在安装qt opensource安装包的时候,如果勾选了src,就可以直接去qt安装目录下进行下一步,如果没有,可以单独下载
https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.9/5.9.7/single/qt-everywhere-opensource-src-5.9.7.tar.xz
通过清华大学的镜像下载源码。
python
python安装这里就略去,记得不管是通过什么方式安装的,最后将python.exe所在目录加到环境变量中。
编译
通过cmd命令,cd到之前下载好的源码目录下:
如果是通过exe安装qt时候勾选了src的,大致是如下目录:
C:\Qt\Qt5.9.7\5.9.7\Src
如果是下载源码包的,应该是 xxxx\qt-everywhere-opensource-src-5.9.7
cmd下输入
configure -developer-build -opensource -confirm-license -mp -nomake examples -nomake tests -debug-and-release -no-warnings-are-errors -platform win32-msvc2013
即可,如果不想要编译某个模块,-nomake,也可以-skip
比如加入 -skip qtwebengine
接着就是等待了,如果最好没有提示错误,
cmd下输入 nmake,回车,这个需要很长时间。
我在编译的过程中出现错误,报错:
wnnEngine\romkanfullkatakana.cpp(59) : error C2146: syntax error : missing '}' before identifier '銆'
等等,这个一般就是源码编码字符集和执行编码字符集差异。
qt的cpp一般是无bom的utf8编码,但是msvcr,
有BOM则按BOM解释,无则使用本地Locale字符集(随系统设置而变)
中文系统一般多是gb2312,
所以最后我去把这个目录下报错的几个cpp,用notepad++全部改成了utf8-bom编码
再nmake就成功了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)