免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1414 | 回复: 0
打印 上一主题 下一主题

如何在windows上发布Qt程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-15 17:22 |只看该作者 |倒序浏览

#define me freshman //我是新手,发现错误请指正
你已经很厉害,可以写一些实现自己想法的程序了。
那么,写好了之后,你需要分发给用户来使用。
可在本机可以运行的程序,到了客户端却总是无法运行。
要么提示,程序配置错误,请重新安装。。
(由于应用程序配置不正确,应用程序未能启动)
[/url]
(VC2005编译的程序)
或者提示找不到需要的dll文件,(没有找到 **.dll,因此这个应用程序未能启动)
[url=http://wpcache.yo2.cn/wp-content/uploads/68/6859/2007/10/miss-component.jpg]

(mingw32编译的程序)
有两种方法可以解决这个问题。
第一种,静态编译。
第二种,同时附上需要的dll文件。
静态编译
优点,发布简单,单一文件。
缺点,库文件很大,更新程序版本不方便。每次升级,都要重新分发所有的内容。
。。。。。
mingw平台静态编译,在编译Qt的时候,有个configure.exe程序,
configure.exe -static -platform win32-g++
可以产生静态编译项目文件。然后,
mingw32-make sub-src
就可以编译出静态库。如果只是用来分发程序,也可以mingw32-make release sub-src只编译一个静态库。
VC2005平台,在编译Qt的时候,configure.exe -static-platform win32-msvc2005
然后nmake sub-src或者nmake release sub-src完成静态编译。
再然后,就是把你的程序重新用静态编译的Qt再编译一次。
你会得到一个非常大的可执行程序。推荐使用AspPack压缩一下。就可以发给用户了。
附加Dll文件
优点,更新方便,发布多个产品时,可以统一使用一个库。
缺点,文件多、杂。
。。。
mingw编译程序运行时需要的几个dll文件
mingwm10.dll
QtCore4.dll
QtGui4.dll
VC2005编译程序运行时需要的几个dll文件
Microsoft.VC80.CRT.manifest 位于x:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\\Microsoft.VC80.CRT
msvcm80.dll
msvcp80.dll
msvcr80.dll
QtCore4.dll
QtGui4.dll
推荐一个很好用的工具,微软出的一个小工具Dependency Walker,也被微软集成到了它的VS里面。在
x:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin\depends.exe
它可以检测出绝大多数的程序需要的dll库文件。这样,就不用手动去查找缺失的dll文件了。
另外,还有一些你程序附加的dll库文件,比如,sql.dll libpng.dll
下面,就可以发布你的程序了~


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/67414/showart_1863938.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP