tqsheng

go.....
随笔 - 366, 文章 - 18, 评论 - 101, 引用 - 0

导航

<2006年11月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用链接

留言簿(8)

随笔分类

随笔档案

文章分类

文章档案

dbg

linux

opencv

QT

slickedit

创业

  • 《程序员》官网
  • 中国最具影响力、最权威IT专业技术期刊:《程序员》杂志
  • 爱范儿
  • 爱范儿(ifanr)全景关注移动互联网、集中报道创业团队,最潮的智能手持及最酷的互联网应用,对业界生态、智能产品及移动应用有着深刻的理解,致力于“独立,前瞻,深入”的原创报道和分析评论,将大量第一手新酷理念和信息传达到读者。
  • 创业邦
  • 氪周刊
  • 项目交易平台
  • 专利之星

电子

海淘

黑客blog

建站

建站

开源

科学计算

理财

流媒体

一些blog

银行

知识

搜索

  •  

最新评论

阅读排行榜

评论排行榜

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库的机器上也可以运行了。

posted on 2012-12-07 22:37 tqsheng 阅读(494) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理