QT4.6.1+MinGW在windows中静态编译(2010.02.01亲测)
最近LGPL协议与Qt版的开放,Qt开始流行,Qt的静态编译(就是只生成.exe不需要dll)也开始被人注意,好像没有专门的教程,问的人也不少,就专门写了这么个东西
Qt版本4.6.1 从官网下的2010.01SDK
第一步:<QTDIR>\mkspecs\win32-g++\qmake.conf:这个文件里找这行(win32-g++代表环境,其他环境就用其他文件夹里的 )
QMAKE_LFLAGS=-enable -stdcall-fixup-Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
用#注释掉
加这句(其实就是改成这句了)
QMAKE_LFLAGS=-static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
第二部:Qt/qt里有configure.exe
用命令行加参数调用
configure -release -static -fast
里面有选择 o是开源选择 然后确定
mingw32-make
进行编译
注:这一步相当耗时。我i7的小本用了两个多小时。
第三步:mingwm10.dll问题
用到threads时候才用mingwm10.dll,所以不用的话就可以在项目里的makefile.release里LFLAGS= 去掉-mthreads
最后 ,就可以用了 ,还有请注意LGPL协议
注意mingw的环境变量
做完后也不要忘记QTDIR PATH的环境变量
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/MicroSky2813/archive/2010/02/01/5278096.aspx