找到MYSQL驱动程序但未加载

时间:2014-06-07 18:06:07

标签: c++ mysql dll shared-libraries qt-creator

  

QSqlDatabase: QMYSQL 驱动程序未加载

     

QSqlDatabase:可用的驱动程序:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

这是我在尝试使用QSqlDatabase做任何事情时得到的结果。当我使用Linux时,我没有这样的问题但是现在我需要将我的应用程序移植到Windows并且出现了这个问题。我知道如果无法找到驱动程序 - 我需要构建它。但经过一番搜索我发现我需要32位libmysql.dll文件 - 我已经拥有它了。我试图将它添加到我的项目中:

INCLUDEPATH += C:\\Program Files (x86)\\MySQL\\MySQL Server 5.6\\lib
DEPENDPATH += C:\\Program Files (x86)\\MySQL\\MySQL Server 5.6\\lib

或者那样:

LIBS += -L"C:\\Program Files (x86)\\MySQL\\MySQL Server 5.6\\lib" -libmysql

但第一种方法是不给我任何输出(我甚至不确定语法),第二种方法返回错误:

  

: - 1:错误:找不到-libmysql

     

collect2.exe:-1:错误:错误:ld返回1退出状态

我能使其工作的唯一方法是将libmysql.dll复制到我的应用程序的调试文件夹中,但由于LGPL,我无法做到这一点,对吧?

1 个答案:

答案 0 :(得分:1)

mysql page表明应该使用'-lmysqlclient'而不是-lmysql进行链接。

“在Windows上,您可以将代码与动态或静态C客户端库链接。静态库名为mysqlclient.lib,动态库名为libmysql.dll。此外,libmysql.lib使用动态库需要静态导入库。“

还要注意单线程/多线程问题。