gpt4 book ai didi

c++ - QT qmysql驱动未加载

转载 作者:行者123 更新时间:2023-12-05 03:54:06 26 4
gpt4 key购买 nike

我知道这个论坛上已经有很多关于这个问题的话题,但我没能解决我的问题。

我的配置如下:

QT 版本:5.14.2 - mscv2017_64

编译器:mscv amd64

我的问题是我的应用程序没有加载 libmysql.dll。这是我所做的:

我打开了 qt 提供的命令行 MSCV 2017 64bits,并使用 vcvarsall.bat amd64 初始化了我的环境。然后我按照 documentation 中的说明构建了 sql 驱动程序.

这是 qmake 调用的结果: enter image description here

然后,运行 nmakenmake install 并在文件夹 C:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers 中,我找到了以下文件。 enter image description here

然后我在创建应用程序的 exe 文件的文件夹中添加了 libmysql.dll。我从 mysql 服务器安装文件夹 C:\Program Files\MySQL\MySQL Server 8.0\lib 中得到这个文件。

然后我重建了我的应用程序,但我仍然出现同样的错误,说驱动程序没有加载。我使用 QT_DEBUG_PLUGINS=1 标志进行编译,得到的输出是:

"The plugin 'C:/Qt/5.14.2/msvc2017_64/plugins/sqldrivers/qsqlpsqld.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)" not a plugin QFactoryLoader::QFactoryLoader() checking directory path "C:/Users/Thomas Bouchan/Documents/Personal/C++/SSVP/build-SSVP-project-Desktop_Qt_5_14_2_MSVC2017_64bit-Release/release/sqldrivers" ... Cannot load library C:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers\qsqlmysql.dll: The specified module could not be found. QLibraryPrivate::loadPlugin failed on "C:/Qt/5.14.2/msvc2017_64/plugins/sqldrivers/qsqlmysql.dll" : "Cannot load library C:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers\qsqlmysql.dll: The specified module could not be found." QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7"

由此不知何去何从,在指定的文件夹中,dll就在那里……是64位还是32位的问题?我应该使用另一个编译器(不是 amd64 吗?)构建驱动程序?

最佳答案

我终于设法让它工作了。

驱动的编译没有问题,但问题出在libmysql.dll文件上。我不知道这个 dll 发生了什么,但是当我用下载存档的那个替换它时 qsqlmysql.dll_Qt_SQL_driver_5.14.2_MSVC2017_64-Bit.zip .我只需要替换dll,而不是使用存档的插件。

用dependency walker打开qsqlmysqld.dll,发现libmysql.dll中还需要两个额外的dll文件:LIBSSL-1_1-X64 .dllLIBCRYPTO-1_1-X64.dll。它们可以在 mysql 服务器的 bin 目录中找到。在我的例子中 C:\Program Files\MySQL\MySQL Server 8.0\bin。在可执行文件的目录中添加这些文件可以解决问题。感谢@king_nak 的提示!

关于c++ - QT qmysql驱动未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61322287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com