QMSQL:无法将不兼容的 Qt 库(版本 0x50b03)与该库(版本 0x50c05)混合使用
QMSQL : Cannot mix incompatible Qt library (version 0x50b03) with this library (version 0x50c05)
我正在尝试在 QT 应用程序中使用 MySQL 数据库。为此,我需要手动构建 MySQL,但完全没有按计划进行。
使用:
Qt 5.12.5
g++ 8.3.0
制作 4.2.1
MySQL 15.1
Debian 10.1
我首先尝试遵循此指南:https://doc.qt.io/qt-5/sql-driver.html 但 qmake 无法检测到 MySQL headers.
在网上搜索后,我发现有人通过直接构建 driver 来设法解决问题。
我进去了 ~/Qt/5.12.5/Src/qtbase/src/plugins/sqldrivers/mysql 和 运行 :
qmake qmake "INCLUDEPATH+=/usr/include" "LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient_r"
没用:
Project ERROR: Library 'mysql' is not defined.
谷歌搜索后,我将 mysql.pro 文件更改为这个文件:
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
目前有效。下一步,运行制作!你猜怎么了?也没用。
/usr/include/c++/8/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
运行 qmake 再次没有 "INCLUDEPATH [...]",现在我缺少 mysql.h。我手动将它的路径添加到 Makefile 中。成功了。
我再次尝试 运行 我的 QT 应用程序,仍然没有 MySQL driver。
原来新建的driver没有和其他的一起复制到正确的目录中。所以我复制了 Qt/5.12.5/gcc_64/plugins/sqldrivers.
现在看来我的插件确实被 Qt 识别了,但它只是因为这个错误而崩溃:
Cannot mix incompatible Qt library (version 0x50b03) with this library (version 0x50c05)
我不知道下一步该怎么做,在互联网上找不到任何对这种情况有用的东西...
请帮忙?
原来我的系统上安装了另一个版本的 Qt。我不知道它是从哪里来的,但这个问题现在已经解决了。
我正在尝试在 QT 应用程序中使用 MySQL 数据库。为此,我需要手动构建 MySQL,但完全没有按计划进行。
使用: Qt 5.12.5 g++ 8.3.0 制作 4.2.1 MySQL 15.1 Debian 10.1
我首先尝试遵循此指南:https://doc.qt.io/qt-5/sql-driver.html 但 qmake 无法检测到 MySQL headers.
在网上搜索后,我发现有人通过直接构建 driver 来设法解决问题。
我进去了 ~/Qt/5.12.5/Src/qtbase/src/plugins/sqldrivers/mysql 和 运行 :
qmake qmake "INCLUDEPATH+=/usr/include" "LIBS+=-L/usr/lib/x86_64-linux-gnu/ -lmysqlclient_r"
没用:
Project ERROR: Library 'mysql' is not defined.
谷歌搜索后,我将 mysql.pro 文件更改为这个文件:
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
目前有效。下一步,运行制作!你猜怎么了?也没用。
/usr/include/c++/8/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
运行 qmake 再次没有 "INCLUDEPATH [...]",现在我缺少 mysql.h。我手动将它的路径添加到 Makefile 中。成功了。
我再次尝试 运行 我的 QT 应用程序,仍然没有 MySQL driver。
原来新建的driver没有和其他的一起复制到正确的目录中。所以我复制了 Qt/5.12.5/gcc_64/plugins/sqldrivers.
现在看来我的插件确实被 Qt 识别了,但它只是因为这个错误而崩溃:
Cannot mix incompatible Qt library (version 0x50b03) with this library (version 0x50c05)
我不知道下一步该怎么做,在互联网上找不到任何对这种情况有用的东西...
请帮忙?
原来我的系统上安装了另一个版本的 Qt。我不知道它是从哪里来的,但这个问题现在已经解决了。