首页IT科技静态编译的好处和意义(静态编译Qt4.4.3)

静态编译的好处和意义(静态编译Qt4.4.3)

时间2025-06-21 05:04:26分类IT科技浏览4959
导读:终于在Linux中完成了计算机图形学的作业,但是还必须要提交一个老师能够在windows中运行的可执行程序。...

终于在Linux中完成了计算机图形学的作业              ,但是还必须要提交一个老师能够在windows中运行的可执行程序              。

在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版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
日本蜡烛图技术知乎(1.2 日本蜡烛图技术之影线分析)