QT的静态编译

        在windows下安装Qt的库非常方便,编译的环境选择了minGW,因为它完全将linux下的编译环境移植到了windows中。直接下载qt-win-opensource-4.4.3-mingw.exe,可以直接双击进行安装(不过在正式安装之前,需要将自己解压并释放到windows的C盘,需要大概1.4GB,刚开始就是因为C盘的空间不够,导致安装程序抽取自己的时候失败。)安装好了之后,可以再去下载一个Qt的集成开发环境——QDevelop。这样直接打开linux里写好的工程选择重新编译就可以了。
    但是这个编译生成的程序是通过动态链接的,对方系统中必须有QtCore4.dll和QtGui4.dll这两个动态链接库(程序只使用了Qt的这两部分)还有mingwm10.dll(minGW在调用线程库之后需要用到)。而这些库的大小就有12.4MB。
    因此,最好的办法是提交一个静态链接的程序。但是安装的Qt是动态编译的,要生成静态的版本,就需要自己重新进行编译。(编译办法参考http://wiki.qtcentre.org/index.php?title=Building_static_Qt_on_Windows)
    首先需要修改位于<QTDIR>/mkspecs/win32-g++下的qmake.conf,在QMAKE_LFLAGS标签中增加-static。然后在“开始”菜单中运行Qt 4.4.3 Command Prompt程序,会启动一个命令行界面。再里面打入configure -static -release -no-exceptions。接受里面提到的许可之后,就会开始编译生成qmake并进行配置。配置完成以后,再输入mingw32-make sub-src。这样就开始对Qt进行编译,这步需要很长时间(我上了两节课,回来已经编译好了)。
    然后再像以前这样重新编译和生成自己写的程序,这样的生成的可执行程序就是使用静态链接的,可以直接在未安装Qt的电脑上运行。这样的副作用就是,可执行文件变得非常大,有6.81MB!动态链接的版本只有82.5KB。当然,如果加上那些依赖的动态链接库,静态链接的程序在体积上还是有优势的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值