• 8096阅读
  • 7回复

[讨论]Qt5.0.1 MinGW47 release静态版编译结果及过程分享 [复制链接]

上一主题 下一主题
离线realfan
 

只看楼主 倒序阅读 楼主  发表于: 2013-02-01
— 本帖被 XChinux 执行加亮操作(2013-04-26) —
Qt5.0.1 MinGW47 release静态版编译结果及过程分享
原贴见日志
http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1259


      Qt5是个跨越,但5.0.0作为第一版,问题还是比较多。很高兴在5.0.0发布后的第6周,修正版本及时放出。更令人有些兴奋的是5.0.1直接提供了MinGW4.7编译的库,为用户提供了很大的便利,尤其是对我这样的MinGW版本的追随者。但静态库,还是要自己编。这里把编译过程简单记录一下,一方面给自己备忘,另一方面也给初用Qt的同学一点参考。
即然有qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe,肯定是直接利用了。这次,里面又将MinGW打包进去了,给初装Qt的人省了一些事。




      这是我编译好的静态release版,有需要的可以直接取用,7z压缩包,文件大小75M左右
http://pan.baidu.com/share/link?shareid=313797&uk=673227135
包含odbc,sqlite,没有webkit
(注:因为qmake.exe里面包含了install路径,如果不是解压到c:\Qt\目录下,需要修改在qmake.exe同一文件夹下的qt.conf文件
内容为
[paths]
Prefix = D:/Qt/5.0.1-rel-static(路径根据实际情况设)
注意,编码一定要ANSI格式,不能用UTF-8。路径分隔符用"/"或"\\")
如果想自己编译,可以参考以下步骤




一、文件准备,下面用到的文件,可以自行到相应官网下载。我在百度网盘上也共享了:




①    qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe
http://pan.baidu.com/share/link?shareid=277953&uk=673227135




②    qt-everywhere-opensource-src-5.0.1.zip
http://pan.baidu.com/share/link?shareid=277955&uk=673227135




③    Python2.7.3
http://pan.baidu.com/share/link?shareid=277966&uk=673227135




④    ActivePerl
http://pan.baidu.com/share/link?shareid=277968&uk=673227135




二、安装




①    安装qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe,我是安装在C:\QT\Qt5.0.1
②    将qt-everywhere-opensource-src-5.0.1.zip解压到C:\QT\
③    安装Python2.7.3, C:\Python27
④    安装ActivePerl, C:\Perl




三、编译准备
编辑C:\QT\qt-everywhere-opensource-src-5.0.1\qtbase\mkspecs\win32-g++\qmake.conf
找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,后面赋值为-static
QMAKE_LFLAGS        = -static
QMAKE_LFLAGS_DLL        = -static
保存,退出




四、开始编译
开始==》程序==》Qt5.0.1==》MinGW 4.7==》Qt 5.0.1 for Desktop (MinGW 4.7)
进入命令窗口,输入命令
① cd C:\QT\qt-everywhere-opensource-src-5.0.1




② set path=PATH=C:\Python27;C:\Perl\site\bin;C:\Perl\bin;C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin;C:\Qt\Qt5.0.1/Tools/MinGW\bin;%path%




③ configure.bat -confirm-license -opensource -platform win32-g++ -release -static -ltcg -c++11 -prefix "C:\QT\5.0.1-rel-static" -accessibility -rtti -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -audio-backend -nomake docs -opengl desktop -no-qml-debug -no-vcproj -no-dbus -nomake tests -nomake examples -nomake demos -qt-freetype




④ 没出什么错误的话,mingw32-make




⑤  mingw32-make install




好了,大功告成了。在QtCreator中,加一个Qt Version,指定到 C:\QT\5.0.1-rel-static\bin\qmake.exe,就可以用了。
这样,如果用动态的,就用qt-windows-opensource-5.0.1-mingw47_32-x86-offline安装的,用静态的,就用自己编译的。




离线maple918

只看该作者 1楼 发表于: 2013-02-08
楼主你好,按照你本文的介绍,我已经成功编译好了Qt5.0.1 MinGW47 release静态版,非常感谢你的热情分享。
我想做mysql数据库的连接,使用debug编译时没有问题,可以成功连接。但是使用静态版却连接不上数据库,提示没有驱动,我查了相关文章,知道问题应该是数据库插件未正确连接。按照http://www.qtcn.org/bbs/read-htm-tid-52196.html介绍的方法做了配置,结果还是不行。这个问题困惑了好几天。希望楼主能给予指导和帮助,在下是qt的新手,希望说的详细点,最好能给一个实际的例子。
在此不胜感激,同时祝新年快乐,万事如意!
离线realfan

只看该作者 2楼 发表于: 2013-02-09
回 1楼(maple918) 的帖子
首先,你确认编译成功了吗?
如果编译成功,在pro文件中,加
QTPLUGIN += qsqlmysql

在main.cpp中,加
#include<QtPlugin>
Q_IMPORT_PLUGIN(QMYSQLDriverPlugin);


我没用过mysql,祝好运
离线inside
只看该作者 3楼 发表于: 2013-03-26
回 楼主(realfan) 的帖子
你好楼主,我在mingw32-make 的时候
输出如下的信息:


希望您指导下
谢谢
离线彩阳

只看该作者 4楼 发表于: 2013-03-26
支持一个!高手总是很慷慨啊。
上海Qt开发联盟,热忱地欢迎你的加入!
离线realfan

只看该作者 5楼 发表于: 2013-03-27
回 3楼(inside) 的帖子
这个情况我现在也不知道原因。
configure是用帖子里的吗
离线adam_1990
只看该作者 6楼 发表于: 2013-04-13
我是一个新手,请问各位在Qt creater 上加一个Qt Version呢?在这一步可以详细说一说吗?我到这里完全搞不懂了

离线hohos

只看该作者 7楼 发表于: 2013-04-17
回 1楼(maple918) 的帖子
这才看到1楼帖子
发帖时间很久了,不过可能对后人有帮助,还是说下

编译时要指定 -qt-sql-mysql才可以支持mysql
还有ODBC,POSTGRESQL等,类似做法即可。
快速回复
限100 字节
 
上一个 下一个