首页| 论坛| 消息

标题:QT5静态编译教程,主要针对vs2012、、、
作者:渡世白玉
日期:2013-03-24 13:27
内容:

QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错。

注:我自己编译的环境是:win server 2012 dc版 , vs2012 with update1,qt-everywhere-opensource-src-5.0.2,perl和rupy都是在qt官方给的地址下的最新的X64的,python是2.7 X64的、、、

本文主要针对qt 5.X版本,qt4.X的依赖没那么多,可以酌情参考下,但是好像用途不大、、
编译器主要针对VS2012,vs2010和mingw的就编译时参数换一个就行了,文中会有简单提起、、、
编译主要是静态编译,但是静态编译的话问题很多,我虽然不报错编译完成,但是使用没测试,已知的是我编译的版本qtwebkit使用时 QWEBVIEW控件在连接时会出错。如果您要是动态编译的话在编译依赖库(icu,openssl)时动态编译就行了,在configure时不要-static选项即可。

虽然我编译通过了,但是还是借鉴了网上很多教程,先发借鉴的链接,尊重版权:
http://www.ktao.net/archives/125//这个编译好像只编译了qtbase,qtwebkit那块原来我准备的连接库不足,没成功,就没再测试。
http://www.cnblogs.com/wader/archive/2013/01/19/qt5_vc2012.html //这个是说动态连接的,但是很对。
http://qt-project.org/wiki/Building_Qt_5_from_Git//官方的编译方法

1、准备编译需要的环境
1.1准备编译器
这个不需要多说了吧?就是安装vs或者mingw、、、
vs系列可以去:http://msdn.itellyou.cn/ 下载,vs2012或者2010别用太低的版本,qt5要用c++11,只有这俩部分支持、、、
mingw您可以用qt官方mingw版的,自带的版本,您也可以自己去下,用tdm-gcc安装方便点:http://tdm-gcc.tdragon.net/downlo ..


#1 [roywillow 03-24 18:36]
good job!
不过现在digia提供的那个5.0.2算是最终的版本么……?
只在qt4中成功编译过动态webkit,qt5曾经花了至少五个小时,最后一堆报错
另外conf文件中,-O2改成-O1可以精简不少体积,configure的时候传递-ltcg也可以精简库的体积
但是ltcg这个参数用在webkit上会严重报错,因为编译过程中产生的lib的体积已经超出了2G……不过据说可以通过修改webkit的pro来解决
#2 [realfan 03-24 23:01]
这个要好好顶一下!
#3 [skykingf 04-11 09:58]
我擦 这么麻烦 我还是直接用安装包吧
#4 [ashe0817 04-12 08:48]
看着就蛋疼了。。。
#5 [wjepdb 04-14 10:04]
另外conf文件中,-O2改成-O1可以精简不少体积外conf文件中,-O2改成-O1可以精简不少体积,引用第2楼roywillow于2013-03-24 18:36发表的:
good job!
不过现在digia提供的那个5.0.2算是最终的版本么……?
只在qt4中成功编译过动态webkit,qt5曾经花了至少五个小时,最后一堆报错
另外conf文件中,-O2改成-O1可以精简不少体积,configure的时候传递-ltcg也可以精简库的体积
但是ltcg这个参数用在webkit上会严重报错,因为编译过程中产生的lib的体积已经超出了2G……不过据说可以通过修改webkit的pro来解决
conf文件中,-O2改成-O1按官网上网友的反映是必须的,vs2012 update1及update2都没有改正这个错误(64位对齐),也就是说编译64位VS2012应该没问题(我没试过),编译32位的必须放弃优化速度(包括有一个网友提供的bug fix 也不行 https://bugs.webkit.org/show_bug.cgi?id=90008,(没办法粘贴网址,手工输入的但id=90008核对过))。
编译出来的Qt assistant及designer都不能使用(它们都用到了 webkti),QT有时真操心。
PS:
同一台机器:vs2012编译需要2个小时(差几分)而用vs2010编译只需要58分钟,差的太离谱了吧????
机器配置(i7 3610M, 8G,64位windows7, 镁光M4 128G系统(没在这个盘上编译,在笔记本本机的硬盘,好像是7200转的,外星人m17x r4 7970M显卡)。
最终于放弃vs2012,
原因1:支持xp太难。
原因2:编译32位问题太多。

<< 1 2 >> (1/2)

回复 发表
主题 版块