找回密码
 立即注册
收起左侧

QT5.1.0发布程序方法分享

1
回复
7244
查看
[复制链接]
累计签到:53 天
连续签到:1 天
来源: 原创 2013-9-23 21:10:00 显示全部楼层 |阅读模式
       今天终于发布了第一个QT应用程序,虽然是一个很简单的程序,也花费了我不少时间,尤其是在发布上。
网上的教程很多,却是很杂,各自版本的QT,各种方法,搞的晕倒转向的,我是一个新手,刚学QT,最开始是喜欢她的清新画面,感觉很舒服,我用的是:qt-windows-opensource-5.1.0-mingw48_opengl-x86-offline.exe这个版本,不用装编译器(VS2010好大的,装起来麻烦),一键 下一步  就OK了,没有设置环境变量,以后写的程序不会只在自己的电脑上运行的,所以就没去弄了。
        我的方法主要是延续坛子里的,添加缺失的DLL,按下面的方法做的:
1新建一个文件夹,里面放EXE,运行exe文件,提示缺少什么拷什么,在QT\qt5.1.0\5.1.0\ ming48_32\bin下拷,不要到tools\ming48_32或QT Creator下拷,这是QT自身要用的库,不是我们应用程序所依赖的库,因为QT5.1.0本身就是用QT写的.

2.将安装目录下的plugins\platforms目录拷贝过来,里面只需要保留自己需要的文件,比如是release方式发布的,就只需要qminimal.dll和qwindows.dll,可以最后还是失败了,出现如图错误,

            我在坛子里求助过,在网上也看到好多这样的问题,问题到底出在哪里呢,该添加的都加了,后来下了一个Process Explorer查看应用程序所用的动态库,发现qwindows.dll调用的是QT\qt5.1.0\5.1.0\ ming48_32\plugings\plarforms\qwindows.dll,如,我在网上找的图参考一下,这是在编译器里运行程序,在用Process Explorer查看,他是用Vs2010,路径是一样的.说明在调用QT目录下的qwindows.dll,而我们把plugins\platforms目录拷贝过来了,按理说是不缺少qwindows.dll,后来把我QT目录下的qwindows.dll干掉了,应用程序找不到qwindows.dll,就出现了错误了,到这了大家应该明白了,不是我们缺少文件,而是我们没有给添加的文件一个路径,它找不到依赖的库,就报错了。
怎么解决呢。方法就是在QApplication app(argc, argv);后面加一句QApplication::addLibraryPaths("./plugins");编译后在试一下,把你本地的QT目录下的qwindows.dll干掉,看还出现错误不。加了这句,它就会在你新建文件夹下的搜索platforms目录,至于为什么会这样,我也不明白,也希望有人指点。在没装QT软件的电脑上,还会出现图片无法显示,文字出现乱码,都可以这样解决,只要另建一个目录就行了,就到这吧,以后有问题了在和大家探讨,在此感谢老师,他的教材让我明白了不少,入门必备哦。










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

尚未签到

2013-9-23 22:36:51 显示全部楼层
这个QApplication::addLibraryPaths("./plugins");的确是一个办法,其实还有更好用的:试试在qt文档里面搜索“qt.conf”,连写代码都不用,方便快捷。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了