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

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

时间2025-07-29 20:17:22分类IT科技浏览5900
导读:终于在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
新闻赚钱平台(什么app分享新闻赚钱的软件有哪些-2019年新闻资讯APP赚钱汇总(不断更新),让你阅读真正有价值) 拥有自我意识的机器人存在吗(拥有自我意识的AI:AutoGPT | 得物技术)