• 13197阅读
  • 30回复

Qt5.2.0 MinGW480 release静态版编译结果、过程及QtCreator配置分享 [复制链接]

上一主题 下一主题
离线realfan
 

只看楼主 倒序阅读 楼主  发表于: 2013-12-12
— 本帖被 XChinux 设置为精华(2014-01-05) —
这是我编译好的静态release版,可以直接取用,7z压缩包,解压即用(感谢zzhouqianq提醒,不用做额外操作了,省一步)
http://yunpan.cn/QDvxdTL9LFLJP (提取码:871c)
包含odbc,sqlite,没有webkit如果要自己编译,可以参考下面的过程及需要的文件
一、文件准备,下面用到的文件,可以自行到相应官网下载。我在网盘上也共享了:
① qt-windows-opensource-5.2.0-mingw48_opengl-x86-offline.exe
http://yunpan.cn/QDy5K5nZjmQ47
静态编译来,只是用里面的mingw。但从搭建开发环境的角度,也建议安装
② qt-everywhere-opensource-src-5.2.0.zip
http://yunpan.cn/QDy5HuVHLvwXJ
③ Python3.3
http://yunpan.cn/QDApXxWyXUDPW
如果不编译qtwebkit,就不用安装ActivePerl了。
二、安装
① 安装 qt-windows-opensource-5.2.0-mingw48_opengl-x86-offline.exe ,我是安装在C:\QT\Qt5.2.0
② 将 qt-everywhere-opensource-src-5.2.0.zip 解压到C:\QT\
③ 安装Python C:\Python33
三、编译准备
编辑C:\QT\qt-everywhere-opensource-src-5.2.0\qtbase\mkspecs\win32-g++\qmake.conf
找到QMAKE_LFLAGS和QMAKE_LFLAGS_DLL,后面赋值为-static
QMAKE_LFLAGS        = -static
QMAKE_LFLAGS_DLL    = -static
保存,退出(如果不做这个修改,生成的执行文件要依赖libgcc_s_dw2-1.dll,libstdc++-6.dll,libwinpthread-1.dll)
四、开始编译
开始==》程序==》Qt5.2.0==》5.2.0==》MinGW 4.8(32-bit)==》Qt 5.2.0 for Desktop (MinGW 4.8 32 bit)进入命令窗口,输入命令
① cd C:\QT\qt-everywhere-opensource-src-5.2.0
② set path= C:\Python33;%path%
③ 配置configure -confirm-license -opensource -platform win32-g++ -release -static -ltcg -prefix "C:\QT\5.2.0-mingw-rel-static" -qt-sql-sqlite -qt-sql-odbc -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit -qt-pcre -no-compile-examples
④ 没出什么错误的话,mingw32-make
⑤ mingw32-make install
五、QtCreator配置
编译好后,在QtCreator中加新编译的qt kits。
打开QtCreator, Tools-->options-->build & run-->
Debuggers选项卡,应该有个C:\Qt\5.2.0\Tools\mingw48_32\bin\gdb.exe 调试器,如果没有,就点击Add,手工加一下。
Compilers选项卡,也应该有MinGW4.8 32bit编译器,如果没有,手工加,指向C:\Qt\5.2.0\Tools\mingw48_32\bin\g++.exe
QtVersions选项卡,应该已经存在C:\Qt\Qt5.2.0\5.2.0\mingw48_32\bin\qmake.exe现在把自己编译的加进来,点Add按钮,选择C:\Qt\5.2.0-mingw-rel-static\bin\qmake.exe,可以给这个Qt编译版本取个名字,比如Qt 5.2.0 (5.2.0-mingw-rel-static) 点Apply
Kits选项卡,点Add,name我们随便取一个,比如5.20_rel_static,Compiler
选择MinGW4.8 32bit,Debugger,选择C:\Qt\5.2.0\Tools\mingw48_32\bin\gdb.exe对应的那个QtVersion,选择Qt 5.2.0 (5.2.0-mingw-rel-static) ,确定,就设置好了。

亦可见日志
http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1551






离线彩阳

只看该作者 1楼 发表于: 2013-12-12
好快。我建议构建的话QTCN专门建立一个构建服务器好了。
上海Qt开发联盟,热忱地欢迎你的加入!
离线liulin188

只看该作者 2楼 发表于: 2013-12-12
楼主发布一个vs2010静态编译的
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线realfan

只看该作者 3楼 发表于: 2013-12-12
回 2楼(liulin188) 的帖子
我目前手里没有VS2010环境
离线maple918

只看该作者 4楼 发表于: 2013-12-13
楼主的包里面好像没有数据库!
离线realfan

只看该作者 5楼 发表于: 2013-12-13
回 4楼(maple918) 的帖子
包含Sqlite和ODBC
离线yujincheng08

只看该作者 6楼 发表于: 2013-12-14
我的环境是i686-4.8.2-release。用git获得qt5.2。静态编译时候qml有问题 说QT_PLUGIN_PATH不是有效的什么什么的。
另外我在bin里面找了点exe打开发现有些停止运行。很不解,希望能帮我一下
离线圣域天子

只看该作者 7楼 发表于: 2013-12-14
有没有postgresql的数据库包??
离线myleader

只看该作者 8楼 发表于: 2013-12-14
我用的是64位的mingw,不过出了问题

mingw32-make直接停止运行
离线realfan

只看该作者 9楼 发表于: 2013-12-20
回 9楼(simplexy) 的帖子
第五条,就是QtCreator配置方法呀
离线simplexy

只看该作者 10楼 发表于: 2013-12-20
回 9楼(realfan) 的帖子
呃··感谢楼主··问题已解决··
离线clickto

只看该作者 11楼 发表于: 2013-12-23
好像下载不了了。。
离线zzhouqianq

只看该作者 12楼 发表于: 2013-12-24
谢谢楼主了,每次都是等着你发布~~不知道你编译过webkit没有?听说问题很多,容易失败?


刚发现链接不能下载了。。。楼主修复一下吧
离线zzhouqianq

只看该作者 13楼 发表于: 2013-12-24
qt.conf文件只需要写成
[paths]
Prefix = ..
就可以了,不需要用批处理修改的。
离线realfan

只看该作者 14楼 发表于: 2013-12-24
回 13楼(zzhouqianq) 的帖子
还真没这样用过,多谢提醒!
离线realfan

只看该作者 15楼 发表于: 2013-12-24
回 13楼(zzhouqianq) 的帖子
试了一下,果然是这样。可以省一步了。
离线realfan

只看该作者 16楼 发表于: 2013-12-24
回 11楼(clickto) 的帖子
已经修复
离线realfan

只看该作者 17楼 发表于: 2013-12-24
回 12楼(zzhouqianq) 的帖子
下载已经修复了。Webkit在Qt4.8X的时候努力过,但从未成功。后来静态编译就再没碰过它。
离线skykingf

只看该作者 18楼 发表于: 2013-12-25
这样发布程序时就不用带dll文件了吧
离线zzhouqianq

只看该作者 19楼 发表于: 2013-12-25
回 18楼(skykingf) 的帖子
只要你不用webkit,基本都可以静态编译成功的,就可以不带任何dll。不过静态编译的exe很大,通常都是10M以上。
离线XChinux

只看该作者 20楼 发表于: 2014-01-05
感谢分享
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线jibintao

只看该作者 21楼 发表于: 2014-01-17
楼主,用你build 的lib,我的程序的资源都不能显示,比如说给toolbar add一个icon,结果static build 出来的不能显示,而 dynmaic build 出来的没问题。
离线realfan

只看该作者 22楼 发表于: 2014-01-17
回 21楼(jibintao) 的帖子
方便的话,工程发过来我看一下。
离线jibintao

只看该作者 23楼 发表于: 2014-01-19
回 22楼(realfan) 的帖子
这个问题网上人说是在static 下不能用ico,而是用png,谢谢啊~~

另外, 在static下找不到 sqldriver,我切换到dynamic下就可以找到?
离线realfan

只看该作者 24楼 发表于: 2014-01-20
回 23楼(jibintao) 的帖子
static用sqldriver要加一些代码:
在pro中加(根据你用的db driver类型,加)
    QTPLUGIN += qsqlodbc  #odbc
    QTPLUGIN += qsqlmysql #mysql
    QTPLUGIN += qsqlite  #sqlite
在main.cpp中加
    #include<QtPlugin>
    Q_IMPORT_PLUGIN(QMYSQLDriverPlugin)
    Q_IMPORT_PLUGIN(QSQLiteDriverPlugin)
    Q_IMPORT_PLUGIN(QODBCDriverPlugin)
离线realfan

只看该作者 25楼 发表于: 2014-01-20
回 23楼(jibintao) 的帖子
我一般习惯这样写
pro中
CONFIG(release, debug|release){
    CONFIG += static
}
static{
    DEFINES += QT_PLUGIN_STATIC_LINK
    QTPLUGIN += qsqlodbc
    QTPLUGIN += qsqlite

在main.cpp中
#ifdef QT_PLUGIN_STATIC_LINK
    #include<QtPlugin>
    Q_IMPORT_PLUGIN(QSQLiteDriverPlugin)
    Q_IMPORT_PLUGIN(QODBCDriverPlugin)
#endif
离线asahui

只看该作者 26楼 发表于: 2014-01-31
LZ,你这样跳过qtwebkit编译出来的assistant好像是用不了啊,上次我下载你编译的5.1.0里的assistant也是用不了的

我想问这地址里
http://www.qtcn.org/bbs/read-htm-tid-52231.html
12楼的兄弟编译出来的怎么可以用呢?
离线tyl504

只看该作者 27楼 发表于: 2014-05-17
访问密码是多少?
离线realfan

只看该作者 28楼 发表于: 2014-05-17
回 tyl504 的帖子
tyl504:访问密码是多少?
 (2014-05-17 10:15) 

http://yunpan.cn/QDvxdTL9LFLJP (提取码:871c)
离线tyl504

只看该作者 29楼 发表于: 2014-05-23
链接已失效
离线realfan

只看该作者 30楼 发表于: 2014-05-24
回 tyl504 的帖子
tyl504:链接已失效
 (2014-05-23 22:07) 

360说因扫黄打非,共享都有限制了。
现在5.3已经发布就,用5.3吧。
静态编译好的下载
http://pan.baidu.com/s/1pgz74

安装包qt-opensource-windows-x86-mingw482_opengl-5.3.0.exe下载
http://pan.baidu.com/s/1qWLicFy
快速回复
限100 字节
 
上一个 下一个