我需要什么.dll文件才能使QtSql正常运行
What .dll files do I need in order to get QtSql to run properly?
我创建了一个执行一些SQL查询的Windows Qt C++应用程序。这个应用程序在我的开发机器上正确编译并运行。
我的PATH环境变量中有以下目录:
C: \oracle\product\10.2.0\db_1\bin
C: \instantclient_11_2
C: \QtSDK\mingw\bin
C: \Qt\4.7.4\bin
我想将我的应用程序作为独立程序分发到其他计算机,所以我在分发中包含了这些.dll文件:
QtCore 4.dll
QtGui4.dll
QtSql4.dll
qsqloci4.dll
mingwm10.dll
libgcc_s_dw2-1.dll
这就是我的代码中QSqlDatabase的设置方式:
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setHostName(hostname);
db.setPort(port);
db.setDatabaseName(sid);
db.setUserName(username);
db.setPassword(password);
bool ok = db.open();
if (ok) {
//stuff
} else {
QString dbErr = db.lastError().databaseText();
QString drErr = db.lastError().driverText();
return this->messageBox("SQL Query Failed:n" + dbErr + "n" + drErr);
}
当我在不是我的开发机器的计算机上运行此应用程序时,dbErr和drErr设置为"Driver not loaded"。我还需要哪些.dll文件才能正确运行?
编辑:
我需要来自C:\oracle\product\10.2.0\db_1\bin的oci.dll吗
来自C:\instantclient_11_2的oci.dll怎么样?
我尝试将这两个文件都添加到可执行文件的目录中,但仍然出现相同的错误。我需要这两个.dll文件吗?
您需要在包含exe的目录中创建一个名为sqldrivers
的文件夹。将您正在使用的所有SQL驱动程序dll放在那里(qsqloci4.dll(。
请参阅如何创建Qt插件-定位插件,了解有关使用Qt插件以及Qt如何找到它们的更多信息。
相关文章:
- 如何让谷歌测试正常运行。测试总是失败。(它不会编译)
- 多线程程序卡在优化模式下,但在 -O0 中正常运行
- c++:if 语句无法正常运行,并继续执行无效输出
- 如何制作硬编码堆栈,而不是硬编码并保持程序正常运行
- 函数在正常运行时不起作用,但在调试时起作用
- 否则,如果语句无法正常运行
- 如果输入变量的数据类型与以前不同,如何使我的循环仍然正常运行?
- 我的程序运行良好,可以复制对象,但是当我使用复制分配(=)时,它仍然可以正常运行.为什么不给错误
- 在 Ubuntu 16.04 的 usr/local/bin 中安装的 c++ 应用程序在从主目录执行时无法正常运行
- SImple 代码在 DevC++ 中正确运行,但不能在 Visual Studio Code 中正常运行
- 断言语句无法正常运行
- 如何调试正常运行但在 ide 中返回分段错误的程序?
- 嵌套循环在重新函数内未正常运行
- 错误太多,智能感知引擎无法正常运行
- 为什么代码在 c++ 中无法正常运行
- 当我尝试为我的程序提供 3 个输入时,它需要 4 个才能正常运行.为什么
- BMP读取器无法正常运行
- 程序无法在 dev C++ 上正常运行
- C++ 程序将无法正常运行
- 我需要什么.dll文件才能使QtSql正常运行