首页| 论坛| 消息

标题:qt4.8.4+mingw4.6.1静态编译
作者:realfan
日期:2012-12-25 08:56
内容:

qt4.8.4+mingw4.6.1静态编译(备忘)


以下内容根据网上内容及本人实际操作整理而成

一、准备软件
1. MinGW (C:\Qt\MinGW)
http://pan.baidu.com/share/link?shareid=174269&uk=673227135
可以下载这个,解压到指定目录就可以了
2. ActivePerl
3. qt-win-opensource-4.8.4-mingw.exe (C:\Qt\4.8.4)
4. qtcreator2.6x
二、安装软件
1. qt-win-opensource-4.8.4-mingw.exe,提示MinGW路径时,指定到正确位置(C:\Qt\MinGW)
2. 安装Perl环境,一路Next即可
3. 安装QtCreator
三、标准库编译
1. 配置编译选项
1)打开C:\Qt\4.8.4\mkspecs\win32-g++\qmake.conf
(建议先备份一下)
在QMAKE_LFLAGS后面加上 -static
并将QMAKE_LFLAGS_DLL后面的 -shared 改为 -static
(注:如果用Qt4.8.3版本,
修改QT 4.8.3安装目录下mkspecs\win32-g++\qmake.CONF文件,在qmake.CONF文件中QMAKE_IDC = $$$${DIR_SEPARATOR}idc.exe
之后一行添加:QMAKE_RCC = $$$${DIR_SEPARATOR}rcc.exe
否则,工程中有qrc文件时,会出错。4.8.4版本没有此问题)


保存并关闭
2)将C:\Qt\4.8.4\bin 下的syncqt与syncqt.bat 这两个文件删除或改名
否则在编译时会提示找不到perl环境
3)修改src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,将本行替换成return WEB_UI_STRING("Look Up \"\"", "Look Up context menu item with selected word").replace("", truncatedStringForLookupMenuItem(selectedString));
如不修改将出现编译Webkit 时会出现 U1077错误。


2. 开始编译
静态编译,只要release版本就够了。debug版,静态编译就没有必要了,debug版随便一个工程,生成的执行文件都要上百兆甚至几百兆,调试时,很慢。那么release静态版和debug动态版如何共存呢?稍后再介绍。
打开Qt 4.8.4 Command Prompt软件,输入


configure-confirm-license -opensource -platform win32-g++ -release -static -ltcg -no-qt3support -fast -exceptions -accessibility -rtti -stl -qt-sql-sqlite -qt-sql-odbc -qt-zlib -qt-libpng -qt-libtiff -qt-libjpeg -qt-libmng -multimedia -audio-backend -script -scripttools -nomake demos -nomake examples -nomake do ..


#1 [liukang325 12-25 10:55]
mingw4.6.1 这个软件,在哪下?我找了好久……
这个不装在(C:\Qt\MinGW)
那这个. qt-win-opensource-4.8.4-mingw.exe,提示MinGW路径时,指定到正确位置(C:\Qt\MinGW)
就没法往下进行……
#2 [liukang325 12-25 11:09]
找了个mingw4.4正在重装qt-win-opensource-4.8.4-mingw.exe
好像可以。
另外,提醒下强大的楼主,把贴子中的几个改下
一会C:\Qt\4.8.2\bin
一会 (C:\Qt\4.8.4)
版本应该是4.8.4的吧?
#3 [liukang325 12-25 12:29]
终于成功了!在网上找了很多方法都没有静态编译成功!
非常感谢LZ详细的讲解!!!!
#4 [liukang325 12-25 12:36]
不行……编译出来的EXE文件是变大了。但还是提示差DLL文件……
请LZ指教……
#5 [liukang325 12-25 13:39]
qt4.8.0+mingw4.4编译可以了……还是谢谢LZ的方法!很详细!

<< 1 2 >> (1/2)

回复 发表
主题 版块