• 5726阅读
  • 3回复

Qt5.2.1 msvc2010静态版编译教程(更新) [复制链接]

上一主题 下一主题
离线dosmlp
 

只看楼主 倒序阅读 楼主  发表于: 2014-06-19
折腾一下午终成此文
理论上本教程支持其他编译环境和qt版本

环境:qt5.2.1源码包(这个不用说了官网下载中心http://download.qt-project.org/),msvc2010,qtcreator3.1.1
perl,ruby,python(这三个都是从官网下载的最新版)
准备:
ruby,python请查看自己的安装路径并添加到环境变量path(perl安装时自动添加了),验证方法:打开cmd输入perl或python或ruby -help如果能出现帮助信息则说明相应的软件已添加环境变量,
(如果看到此处问环境变量怎么添加,那么请按ctrl+w键,谢谢)
D:\Python34;D:\ruby\bin

然后在源码目录下新建一个bat文件,内容为
CALL "F:\vs2010\VC\vcvarsall.bat" x86

set PATH=F:\qt-src\qtbase\bin;F:\qt-src\qtrepotools\bin;F:\qt-src\gnuwin32\bin;%PATH%
set QMAKESPEC=win32-msvc2010

第一行的路径为vs2010的路径,具体可以查看如下图所示位置的属性
第二行中的F:\qt-src为源码路径,请查看自己的源码路径修改
第三行为使用的编译平台,根据自己使用的编译器修改
然后为此文件新建快捷方式,目标里面修改如下:
只需根据自己的路径修改F:\qt-src\build.bat即可,其他勿动
%SystemRoot%\system32\cmd.exe /E:ON /V:ON /k F:\qt-src\build.bat
确定关闭,打开快捷方式执行echo %path%
查看path路径是否都添加对了
然就可以输入配置命令进行配置了
此处环境变量建议参考官方文档“Qt for Windows - Building from Source”



配置命令:configure -prefix "此处为安装路径" -opensource -release -static -platform win32-msvc2010 -mp -nomake tests -no-icu -skip webkit -nomake examples -opengl desktop
此处只配置了release,所以安装后debug构建是不能使用的
具体有哪些配置参数请输入命令:configure -help>>help.txt
在此目录下会生成一个help.txt的文件,里面非常详细,建议仔细阅读此文件
下面这些参数不要动就行,其他根据需求设置,不设置也可以
-prefix "此处为安装路径" -opensource -release -static -platform win32-msvc2010 -mp -nomake tests -nomake examples -opengl desktop
。。。。。。。。。。。。。。。。
-static 静态编译
-platform 编译平台
-mp 编译时多核处理器的支持
配置完成后
nmake,开始编译,时间比较长
如果没什么错误编译完成后执行nmake install
就会安装到配置中指定的路径

关于更改安装目录的问题
安装后如果修改了路径在qtcreator会报错,qt比较变态的是在编译时把安装路径hard code到了qmake里面,若要修改还要用二进制编辑qmake把里面的路径全部替换成新的路径
方便的方法,可以在bin目录下新建qt.conf文件内容为:
[paths]
prefix = D:/xxx/xxx
prefix为新的路径

关于删除源码目录后报lib错误的问题,请搜索安装目录下所有prl后缀的文件,将里面指向源码lib目录的路径全部替换为当前Qt目录下的lib目录(可以用ultraedit批量打开,然后批量替换),更改安装目录也建议按此操作,也可以使用我写的一个小根据进行批量修改http://www.qtcn.org/bbs/read-htm-tid-56868.html


补充:1、如果在配置中加入了对mysql的支持,那么你需要将mysql相关的头文件放入qtbase\include中,mysql的库文件放入qtbase\lib中,否则编译会报错
================================安装qt文档=====================================
按以上结果是没有官方文档的,打开qtcreator的帮助里面基本没啥内容
还是在vs2010下打开命令行工具(如上面的图),
nmake docs
nmake install_docs
注:以上为正常步骤,但是会出错,请将libmysql.dll放到安装目录下的bin目录以及源码目录的qttools\bin下面
然后打开qtcreator,帮助里面的内容就全了




欢迎批评指正,疏忽之处在所难免










离线cnhemiya

只看该作者 1楼 发表于: 2014-06-20
关于更改安装目录的问题:
安装后如果修改了路径在qtcreator会报错,qt比较变态的是在编译时把安装路径hard code到了qmake里面,若要修改还要用二进制编辑qmake把里面的路径全部替换成新的路径

==========================================
在qt bin下面加个qt.conf文件就可以了。自己编译的mingw + qt 4.8.5就是这么搞的
注意文件的换行符用unix的类型就是纯文本文件\n换行的。windows文本是\r\n换行

[paths]
prefix = D:/develop/QtSDK/qt-4.8.5-win32-mingw32-4.8.0
examples = D:/develop/QtSDK/examples-4.8.5
demos = D:/develop/QtSDK/demos-4.8.5
离线ashe0817

只看该作者 2楼 发表于: 2014-06-20
回 cnhemiya 的帖子
cnhemiya:关于更改安装目录的问题:
安装后如果修改了路径在qtcreator会报错,qt比较变态的是在编译时把安装路径hard code到了qmake里面,若要修改还要用二进制编辑qmake把里面的路径全部替换成新的路径
==========================================
在qt bin下面加个qt.conf文件就可以了 .. (2014-06-20 10:29) 

对于用VC编译的Qt来说,修改这里只是其中一步吧

http://www.qtcn.org/bbs/read-htm-tid-56752.html
离线dosmlp

只看该作者 3楼 发表于: 2014-06-20
回 cnhemiya 的帖子
cnhemiya:关于更改安装目录的问题:
安装后如果修改了路径在qtcreator会报错,qt比较变态的是在编译时把安装路径hard code到了qmake里面,若要修改还要用二进制编辑qmake把里面的路径全部替换成新的路径
==========================================
在qt bin下面加个qt.conf文件就可以了 .. (2014-06-20 10:29) 

这样仅仅能解决qmake的问题,看了一下uic里面也硬编码了安装路径
快速回复
限100 字节
 
上一个 下一个