标题:qt发布问题:qt.conf配置文件无效
作者:tommychenye
日期:2014-08-10 16:24
内容:
qt版本:5.3.1 minGW
系统环境:win7
程序版本:release
已有的环境:Qt5Core.dll等相关库,plugins目录下的platforms sqldrivers和imageformats
qt.font文件内容:
Prefix=../
Plugins=plugins
Imports=imports
Qml2Imports=qml
目录结构如下:
myapp
......bin
......imports
......plugins
............imageformats
............platforms
............sqldrivers
......qml
程序基于mysql在qml界面上做一些简单的显示,数据库的配置通过读取ini配置文件,目前打包的问题主要是:
1.如果数据库的配置文件ini格式错误或者这个文件不存在,启动exe 可以正常显示界面,数据为空,所有qml界面的显示都正常;
2.如果数据库的配置文件正确,此时启动exe 程序提示;
经过procexp程序查看这两次调用的dll的路径。如下图:
1.
2.
通过比较发现 qwindows.dll 和plugins下得imageformats内的所有dll文件两次调用的路径不同,第一种情况和qt.conf中得路径一致,第二种情况则不一致。
也就是说当程序正确连接数据库后 调用的plugins的目录并不是qt.conf配置的路径,就是程序压根没读取这个qt.conf配置,这就给我发布程序的时候带来很大的问题,别人电脑上没有安装qt环境的话就没法通过qt.conf找到plugins目录,也就不能正常运行。
问题描述完了,如果有不清楚的地方请指出,不知道有谁遇到过类似的问题,或者说我的配置不正确? 还有就是能不能通过添加系统环境变量让未安装qt的win7也能找到plugins目录。
#1 [tommychenye 08-10 16:27]
qt.conf的配置文件第一行应该是 【paths】 没显示出来
#2 [tommychenye 08-14 20:30]
目前测试win7下 qt5.3.1 只要使用数据库功能,程序打包后qt.conf配置文件无效。。。。。。。。。。 ,求大神测试验证下是普遍问题还是就我rp不行,或者说我测试有误。。。。。只有看的没有回复的么?
#3 [tommychenye 08-15 16:58]
自问自答了,Qt5Core.dll 会调用plugins中得dll, 调用路劲是在安装qt后就写死了,所以在发布的时候需要在发布电脑上创建相同的路劲,把plugin中得dll复制进去,这只是个临时解决方案,至于程序为什么还是不按照qt.conf中得路劲读取还是没有得到解决。
#4 [彩阳 08-29 14:17]
尝试一下将Qt程序放在plugins文件夹中,然后再运行一下。
借着将plugins文件夹放在一个干净的文件夹下,一个插件一个插件删除,直到程序不能运行为止。
#5 [alexltr 09-02 23:04]
platforms目录好像要放在myapp同级的目录。