vc2008静态编译qt4

我的上一篇文章里写了vs2008+qt4的简单安装方法,这样安装的开发环境编译出来的应用程序是动态链接的,要带上不少dll,如果不想带dll就需要把qt4静态编译了。

 

此次编译用的是IBM T400,win7 32bit系统(联想OEM版)

 

方法主要参考下面的帖子,因为楼主已经结贴,只能把扩充的东西放到这儿了(本人主要添加了编译过程中的一些遇到的细节)

http://topic.csdn.net/u/20100121/17/99208b1a-ae17-4a3f-a03c-cb432699e78c.html

 

说明:我的源代码所在的目录:D:/qt-everywhere-opensource-src-4.6.1

 编译完成后执行nmake install把编译好的Qt4必需的部分放到D:/Qt461

(这两个目录都可以随意更改,不过记得把下面用到的相应目录都要修改)

 

1、增加环境变量 : 
QTDIR=D:/qt-everywhere-opensource-src-4.6.1 
PATH=D:/qt-everywhere-opensource-src-4.6.1/bin

 

2、先进入源代码的目录,找到mkspecs目录,进到 win32-msvc2008 目录

编辑qmake.conf

找到下面的语句改成下面这样:

 

 

QMAKE_CFLAGS_RELEASE    = -O2 -MT

QMAKE_CFLAGS_DEBUG      = -MTd

 

3、打开vs2008工具:vs2008命令提示

(开始菜单->Microsoft Visual Studio 2008->visual studio tools->Visual Studio 2008提示工具)

 

然后进入到源代码的目录,把下面这些复制到命令窗口运行

 

configure -prefix D:/Qt461 -debug-and-release -platform win32-msvc2008 -static -fast -opensource -no-exceptions -no-qt3support -no-accessibility -no-rtti -no-webkit -no-phonon -no-declarative -no-script -no-scripttools -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -qt-style-windowsxp -qt-style-windowsvista -nomake examples -nomake docs -nomake demos -nomake translations

 

可以用configure  -help来查看参数

 

注:后面执行nmake install后会编译好的库放到 D:/Qt461 这个目录  

 

 

 

4、运行 nmake

 

注:第一次运行nmake提示在D:/Qt461里找不到mkspecs,我把D:/qt-everywhere-opensource-src-4.6.1里的拷过来就可以了

nmake一路顺利

 

5、运行 nmake install

这个就是简单的把D:/qt-everywhere-opensource-src-4.6.1目录下编译好的库和头文件等一些必要的东西复制到D:/Qt461

 

到此就编译完成

 

6、开打vs2008,进入qt->qt options->add

点path后面按钮选择刚才的路径:D:/Qt461

 

注:我进行到这一步的时候ok按钮不能点,后来发现时少了个文件.qmake.cache,从D:/qt-everywhere-opensource-src-4.6.1根目录下把

.qmake.cache复制过来放到D:/Qt461根目录下即可

 

到此整个静态编译的环境搭建完毕,可以新建一个工程试试

 

记得把vc的编译选项改成静态编译,具体步骤如下:

 

在vs中修改工程的属性:
配置属性 ----> C/C++ ----> 代码生成 ---->运行时库 ----> /MT or /MTd   (debug的用MTd,release用MT)
现在就编译下这个工程,可以看到一个空的Qt4 GUI 工程生成的debug版本大概有12M,release大概4M
这个编译好的程序不依赖任何的库,直接复制到另一台windows机器上就可以直接运行了
注:.qmake.cache文件需要修改下内容,不然可能还是引用了刚才的源代码所在的目录
找到下面几行:
QMAKESPEC       = D:/qt-everywhere-opensource-src-4.6.1/mkspecs/win32-msvc2008
QT_BUILD_TREE   = D:/qt-everywhere-opensource-src-4.6.1
QT_SOURCE_TREE  = D:/qt-everywhere-opensource-src-4.6.1
改成这样:(就是把D:/qt-everywhere-opensource-src-4.6.1/ 改成D:/Qt461/)
QMAKESPEC       = D:/Qt461/mkspecs/win32-msvc2008
QT_BUILD_TREE   = D:/Qt461
QT_SOURCE_TREE  = D:/Qt461

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值