• 6005阅读
  • 3回复

qt程序没提示缺dll,但是在别人电脑就是运行不了 [复制链接]

上一主题 下一主题
离线zhutousame
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-11
最近我用qt creater 做的程序,其中用了两次qt designer 做了两个界面(第一次这样用,不知有没有影响?),然后,我在自己电脑上用时,没问题,可是拿到没有安装qt的电脑时就出问题了,dll我拷过去了,但是它就是什么提示都没有,界面都没有,在任务管理器上有!程序用到的头文件有:
[pre]#include <QSqlQuery>#include <QTextCodec>[/pre][pre]#include <QFile>#include <QSqlDatabase>[pre]#include <QSqlQuery>#include <QUrl>[pre]#include <QDesktopServices>#include <QObject>[/pre][/pre][pre][pre]#include <QtCore/QVariant>#include <QtGui/QHeaderView>[pre]#include <QtGui/QWidget>#include <QTextCodec>[/pre][/pre][/pre][/pre][pre]#include <QTextStream>[/pre][pre]拷过去的dll有:[/pre][pre]libgcc_s_dw2-1.dll[/pre][pre]qsqlited4.dll[/pre][pre]QtGuid4.dll[/pre][pre]mingwm10.dll[/pre][pre]QtSqld4.dll[/pre][pre]QtCored4.dll[/pre][pre]都放同一文件夹里了,但是在别人电脑运行时没有界面....是什么问题呢?[/pre]
离线radium_sql

只看该作者 1楼 发表于: 2011-03-11
你应该是用到了插件,插件是要放在应用程序下的plugin目录下的特定目录的,而且通过dependcy好像也看不出来。。。

你到帮助文档里去看一看deploying
QT什么时候替代MFC?
离线83888788
只看该作者 2楼 发表于: 2011-03-12
楼上正解!
补充一下:

要用的dll不是 QtGuid4.dll而是QtGui4.dll(没有那个“d",其他的类似)
还有(如果不设置的话)你的qsqllite4.dll(这里也没有”d“)必须要放在一个叫做”sqldrivers“的文件夹中

总结:
比方说你的程序叫myApp

那么一个可行的方案是
在一个名为”myApp“(当然这个名字倒是无所谓)的文件夹中,有:
QtGuid4.dll
..........(各种dll)
myApp.exe
还有一个叫”sqldrivers“(当然如果不设置的话,必须是这个名字)的文件夹
这个叫”sqldrivers“文件夹中有:
qsqllite4.dll

啰嗦了一点,希望能解决楼主的问题

其实最好的办法还是像楼上说的看帮助文档中的 deploy !
离线zhutousame
只看该作者 3楼 发表于: 2011-03-12
哈哈 ,刚刚试过了 ,果然啊,真是太感谢你们两个了,
还有哦,图片显示不了,查了下,发现要新建一个叫imageformats文件夹
在把qt\plugins\imageformats下的用到的库拷贝过去如果图片有gif的就拷贝gif的dll文件,
如果有jpeg的就拷贝jpeg的dll库文件,图片就能显示了,O(∩_∩)O哈哈~,多谢啦~~~~~~
快速回复
限100 字节
 
上一个 下一个