QT的静态编译

Qt默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:

配置编译选项

打开
%QtDir%\mkspecs\win32-g++\qmake.conf (%QtDir%为Qt库所在目录)

在QMAKE_LFLAGS后面加上
-static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

并将QMAKE_LFLAGS_DLL后面的
-shared 改为 -static

保存并关闭

打开
%QtDir%\src\corelib\tools\qlocale.cpp 把 #include 改为 #include <%MinGw%/include/float.h> 例如:#include

Win + R 打开运行输入 cmd 打开命令行,切换到Qt库的目录下,输入命令: configure -static -debug-and-release -no-exceptions

根据提示输入:o 确认

然后输入:y 确认

上一条命令运行成功后再输入命令:
mingw32-make sub-src

等待3个多小时之后....编译完成。
如果上面的编译命令不加 sub-src 会全部编译,把Demo都编译了,大概得用10+个小时。


 

你可能感兴趣的:(Qt)