C++ 如何在dev机器上重现丢失的Qt插件问题?

C++ 如何在dev机器上重现丢失的Qt插件问题?,c++,c,qt,plugins,qt4,C++,C,Qt,Plugins,Qt4,我正试图通过Qt的QSQLite插件部署严重依赖SQLite数据库的Qt应用程序。我的程序在开发机器上的发布版本中运行得非常好,但是在没有安装Qt的机器上完全找不到QSQLite插件。我的问题与这些问题中的问题类似: 另外,这些页面上的建议对我也不起作用,我将qsqlite4.dll复制到所有的plugins/、plugins/sqldrivers/和sqldrivers/子目录中,在我的程序中添加了“addLibraryPath(“.”;”,但仍然不起作用。静态链接是一个糟糕的选择(实际上

我正试图通过Qt的QSQLite插件部署严重依赖SQLite数据库的Qt应用程序。我的程序在开发机器上的发布版本中运行得非常好,但是在没有安装Qt的机器上完全找不到QSQLite插件。我的问题与这些问题中的问题类似:

另外,这些页面上的建议对我也不起作用,我将qsqlite4.dll复制到所有的plugins/、plugins/sqldrivers/和sqldrivers/子目录中,在我的程序中添加了“addLibraryPath(“.”;”,但仍然不起作用。静态链接是一个糟糕的选择(实际上我们正在部署一组应用程序和一个库)

但我的问题不是让它发挥作用。这是关于让它不能在我的开发机器上工作。我没有时间(还有手头的windows发行版)安装虚拟机。因此,我需要时不时地打扰我的同事,让我使用她的电脑5分钟,这样我就可以复制几个文件,运行我的程序,让自己难堪:(

我的开发计算机是MS Windows XP,带有Qt 4.7。应用程序当前驻留在远离Qt的地方,Qt库被复制到同一目录。此外,我在环境变量中找不到%QTDIR%


请提供帮助。

我的回答对您有帮助吗?另请参阅Qt文档的链接。

您是否有一个Qt.conf文件,其中包含指向插件的可分发文件


获取虚拟盒或VMware的免费版。
安装一个模拟windows系统(您不必激活它)
设置它,使更改不会提交到磁盘


在那里测试您的安装,在开发人员的机器上测试安装/依赖性问题永远不会起作用。

这就是我部署它们的地方。但是,唉,没有。通过将qsqlite.dll复制到C:\Qt\very\long\path\sqldrivers\qsqlite.dll,暂时解决了这个问题。我知道这很糟糕:(我还没有尝试使用qt.conf文件。谢谢,我会尝试的。+1,使用
addLibraryPath
不起作用,但是qt.conf文件起作用了!实际上,您可以使用QCoreApplication::setLibraryPath()强制qt不要在自己的目录中查找插件。)。不过,我想,你是对的,虚拟机永远是最好的选择。从长远来看,开发机器总是会咬你-调试dll、早期SDK的副本、一些符号链接或别名=“它在我的机器上工作”