• 6658阅读
  • 8回复

[提问]QT新手请教如何发布程序 [复制链接]

上一主题 下一主题
离线zff518
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-16
我正在学习QT的Example和Demo程序

我用QT Creator打开MediaPlayer那个程序,可以在QT Creator里头正确编译成功也可以正确运行。

然后编译Release出来.exe文件,但是我如果在文件浏览器里头点击这个.exe文件就不能运行。

所以请教一下我这种情况下怎么才能正确的发布QT的程序?

谢谢

(我是在Windows 7 下面,谢谢)
[ 此帖被zff518在2011-03-16 01:07重新编辑 ]
离线duduqq

只看该作者 1楼 发表于: 2011-03-16
双击时有提示缺少哪个库程序不能运行的,你就把相应的库复制到和exe的目录就可以了
离线米尔利安

只看该作者 2楼 发表于: 2011-03-16
你在QT安装目录下找bin,一般的程序至少需要QTGui4.dll, QtCore4.dll.还有可能需要mingwm10.dll等等。总之你的程序提示缺少哪个库就把哪个文件拷到程序所在路径下面就行了。
还有一种办法就是静态编译,这样编出来之后你的程序自己会带着那些库的。
我们在天上的父,愿人都尊你的名为圣。
愿你的国降临。
愿你的旨意行在地上,如同行在天上。
离线83888788
只看该作者 3楼 发表于: 2011-03-16
回 楼主(zff518) 的帖子
离线cecho

只看该作者 4楼 发表于: 2011-03-16
把qt主目录里面的bin文件夹的路径,添加到你的环境变量(Path)里
离线zff518
只看该作者 5楼 发表于: 2011-03-16
谢谢大家,我明白了。

我昨天已经试过了,每次启动程序,报错说需要什么dll,我就搜索那个dll然后考到和.exe文件相同的目录中,等都考完了再启动程序还是报错。

然后我今天又从新弄了一遍就成功了,我发现问题在不同的dll上。
我的qt安装有2个子目录,c:\qt\4.6.3 和 c:\qt\2010.04

我昨天在找dll的时候,每个dll都能搜出来好几个,我就随便找了一个考到我的exe目录,可能有的是从4.6.3子目录,有的是从2010.04子目录考出来的。

今天我从弄的时候,参考了大家的建议然后突然明白了这些dll应该从一个目录中考出来,所以我就都从c:\qt\2010.04\qt\bin考的,然后就成了。

多谢了。
离线zff518
只看该作者 6楼 发表于: 2011-03-16
又出新问题了

我就是编译了一下例程里的MediaPlayer那个工程,然后把release的exe文件考出来,运行的时候它需要

mingwm10.dll
libgcc_s_dw2-1.dll
QtCore4.dll
QtGui4.dll
phonon4.dll

我在我自己装了QT的机器上可以运行,但是拿到没装QT的机器上的时候,界面可以打开,但是Open Video之后什么都没发生,没法播放Video

请问大家知道还需要什么库吗?谢谢
离线zff518
只看该作者 7楼 发表于: 2011-03-16
忘了说了,msvcp90.dll和msvcr90.dll我也考到那个目录中了
离线zff518
只看该作者 8楼 发表于: 2011-03-16
快速回复
限100 字节
 
上一个 下一个