Qt 4.8.5 静态编译小结

本文详细介绍了如何在Windows环境下静态编译Qt 4.8.5,包括删除不必要的文件、修改qmake.conf、配置configure参数、使用nmake进行编译,以及编译后的文件处理和使用UPX压缩EXE文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt 4.8.5 静态编译

各处摘录.总结下.


1.下载qt 的源代码qt-everywhere-opensource-src-4.8.5.zip,解压到路径任意,如d:\qt4


2.删除源码包中bin目录下的syncqt和syncqt.dat文件。如不修改将发生 Perl not found in environment - cannot run syncqt 错误。

如果有perl路径应该不需要这个步骤.(未验证没有perl的话是真的需要这个步骤)


3.修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的

QMAKE_CFLAGS=-nologo -Zm200 -Zc: wchar_t-
改为:
QMAKE_CFLAGS =-nologo -Zm200  -Zc:wchar_t    (注意末尾的”-“号区别) 
为了更好的配合vc的whcar_t.

4.搜索整个qmake.conf文件,将-MD,-MDd对应改成-MT,-MTd,以实现在没有VC库的电脑也能运行Qt程序。

libc.lib          libcd.lib       libcmt.lib   libcmtd.lib   msvcrt.lib   msvcrtd.lib
C-Release         C-Debug         /MT          /MTd          /MD          /MDd

/NODEFAULTLIB:"libc.lib" /NODEFAULTLIB:"libcd.lib" /NODEFAULTLIB:"msvcrt.lib" /NODEFAULTLIB:"msvcrtd.lib" /NODEFAULTLIB:"libcmtd.lib" /NODEFAULTLIB:"libcmtd.lib"

-MT 需要在 QMAKE_LCLAGS_RELEASE 后增加
/NODEFAULTLIB:"libc.lib" /NODEFAULTLIB:"msvcrt.lib" /NODEFAULTLIB:"libcd.lib" /NODEFAULTLIB:"libcmtd.lib" /NODEFAULTLIB:"msvcrtd.lib"

-MTd 需要在 QMAKE_LFLAGS_DEBUG 后增加
/NODEFAULTLIB:"libc.lib" /NODEFAULTLIB:"msvcrt.lib" /NODEFAULTLIB:"libcd.lib" /NODEFAULTLIB:"libcmt.lib" /NODEFAUL

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值