静态编译的好处和意义(静态编译Qt4.4.3)
在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 。当然 ,如果加上那些依赖的动态链接库 ,静态链接的程序在体积上还是有优势的 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!