Windows下静态编译QT程序

Windows下编写的QT程序拿到别的机器上运行时总是要打包DLL,编译成静态程序更方便一些。

首先要编译一个静态的Qt库,因为ms的连接器需要.lib库,而qt自带的是.a库,所以要下载代码自己编译了。
编译前先修改一下spec:(下面是对于vs2008,如果是2005,则去找win32-msvc2005)
mkspecs ----> win32-msvc2008 ----> qmake.conf
修改QMAKE_CFLAGS_RELEASE = -O2 -MD 为QMAKE_CFLAGS_RELEASE = -O2 -MT
修改QMAKE_CFLAGS_DEBUG 为 = -Zi -MTd
修改这儿是因为Qt configure时的static选项对核心库无效,核心库仍然是动态链接的。另外-Zi也可以去掉,不生成pdb文件,如果不调试Qt内部就没必要要。
执行:
configure -release -static -fast -qt-sql-odbc -qt-sql-sqlite -no-webkit
nmake
等待个1,2小时的编译,生成一堆的.lib文件。
如果需要webkit就不要加-no-webkit参数

在vs中修改工程的属性:
配置属性 ----> C/C++ ----> 代码生成 ---->运行时库 ----> /MT or /MTd

这样最终生成的程序就是静态程序了,拿到没有QT库的机器上也可以运行了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值