首页| 论坛| 消息

标题:Qt5.0.0+MinGW4.7.1静态编译步骤(含相关软件下载)
作者:realfan
日期:2012-12-28 15:15
内容:

Qt5.0.0+MinGW4.7.1静态编译步骤


本文参考了本站roywillow和mewjerry等帖子内容,结合自己的操作过程整理。将一些软件放在百度网盘,方便取用。在此做个备忘。


一、软件准备:
1.安装ActivePerl-5.16.1.1601-MSWin32-x86-296175
http://pan.baidu.com/share/link?shareid=185661&uk=673227135
解压到目录C:\Perl
2.安装python-3.3.0
http://pan.baidu.com/share/link?shareid=185658&uk=673227135
解压到目录C:\Python33
3.安装TDM-MinGW
http://pan.baidu.com/share/link?shareid=185649&uk=673227135
解压到目录C:\QT\MinGW32
4.安装gdb调试器,调试代码时用
http://pan.baidu.com/share/link?shareid=185654&uk=673227135
解压到C:\QT即可,目录结构C:\Qt\gdb-python-7.5-1-mingw32-bin\
5.下载qt-everywhere-opensource-src-5.0.0.zip,解压到C:\QT


二、配置选项
编辑C:\QT\qt-everywhere-opensource-src-5.0.0\qtbase\mkspecs\win32-g++\qmake.conf
QMAKE_LFLAGS= -static
......
QMAKE_LFLAGS_DLL= -static
保存


三、开始-》运行-》cmd,打开命令窗口
转到C:\QT\qt-everywhere-opensource-src-5.0.0>

C:\QT\qt-everywhere-opensource-src-5.0.0>set path=C:\Python33\;C:\Perl\site\bin;C:\Perl\bi
n;C:\Qt\MinGW32\bin;%path%


C:\QT\qt-everywhere-opensource-src-5.0.0>configure.bat -confirm-license -opensource -platform win32-g++ -release -static -ltcg -c++11 -fast -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


这里编译release静态版本,配置参数可以根据需要设置
过几分钟,如果没有提示错误,就可以
C:\QT\qt-everywhere-opensource-src-5.0.0>mingw32-make
开始编译 ..


#1 [roywillow 12-28 18:32]
其实你可以把perl和python安装好的包直接传上去,这样就是绿色版了。我就是一直用之前装过的一个版本,也不用重新装。
只不过python分离成绿色版的时候注意从系统目录(好像是windows还是system32或者syswow64)里面提取出来一个pythonXX.dll放到python.exe同级目录
至于gdb么,我记得mingw里自带……?跟mingw32-make.exe同级?其实我是qDebug()输出流派……
#2 回 1楼(roywillow) 的帖子 [realfan 12-28 23:22]
说得是,perl,python,mingw都可以做成拷贝即用的。
我用的mingw里自带gdb不好用,跟踪时提示错误。用之前的可以,就独列出来了,其实把好用的覆盖到MinGW中,也可以。
我考虑再做个全绿色的,共享出来,包括编译好的静态包。不知道有没有许可问题。
用你说的x86_64-w64-mingw32-gcc-4.7.2-release-win64_rubenvb,可以编译,但生成的程序还是依赖libstdc++,配置里加了-static-libgcc -static-libstdc++也没搞定。
后来用mewjerry说的TDM版本,解决了这个问题,生成的程序可以独立运行。
#3 回 2楼(realfan) 的帖子 [roywillow 12-29 00:02]
那两个参数-static-libgcc -static-libstdc++我是加在QMAKE_LFLAGS那一行里的,毕竟这是要告诉工具链去链接静态库嘛……从4.8开始一直这么用下来没问题
TDM我记得默认就是静态链接,所以加错地依然还是那个效果吧
#4 [realfan 12-31 15:37]
是我写错了,居然没注意。非常感谢帮我指出来
现在改过来
#5 回 3楼(roywillow) 的帖子 [realfan 12-31 15:43]
写错了,多谢指正
已经改正

<< 1 2 3 >> (1/3)

回复 发表
主题 版块