如何插入/安装QDB2插件? (用于Qt的SQLDriver,用于连接到IBM DB2)。
我试过
cd $QTDIR/plugins/src/sqldrivers/db2
qmake -o Makefile "INCLUDEPATH+=$DB2DIR/include" "LIBS+=-L$DB2DIR/lib -ldb2"
make
但$ QTDIR未定义。 Qt安装了sudo apt-get ...我不知道在哪里找到文件夹 qmake也不会跑。无法识别模式或选项。
有人可以告诉我如何插入插件所以QSqlDatabase :: addDatabase(“QDB2”);可以工作
答案 0 :(得分:0)
这有点旧,但我有类似的问题让这个工作。 我也是通过谷歌发现的,所以可能还有其他人面临同样的问题。
顺便说一下:$ QTDIR是为了让您的配置更改您的配置。
我使用Qt 5.7.1,IBM版本11.1的DB2 Express-C版本和针对x64编译的Visual Studio 2015 Update 3。说明来自我的相应blog post。
确保安装完所有内容。我使用以下路径:
C:\Qt\5.7\msvc2015_64\bin: location of the build tool qmake
C:\Qt\5.7\Src: location of Qt's source code (default location when the sources are fetched with the maintenance tool)
C:\Program Files\IBM\SQLLIB: location inside IBM's install directory where the sql library is located
如果使用不同的路径,请在以下构建说明中相应地调整它们。
Qt 5.7.1中存在一个错误(似乎在Qt 5.8.0中已修复),因此需要调整源。打开文件C:\Qt\5.7\Src\qtbase\src\sql\drivers\db2\qsql_db2.cpp
并将第1190行更改为d->hEnv = reinterpret_cast<SQLHANDLE>(env);
,将第1191行更改为d->hDbc = reinterpret_cast<SQLHANDLE>(con);
使用管理权限打开Visual Studio命令行提示符(VS2015 x64 Native Tools-Eingabeaufforderungöffnen)
cd
到目录C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2
运行命令C:\Qt\5.7\msvc2015_64\bin\qmake "INCLUDEPATH+=C:/progra~1/IBM/SQLLIB/include" "LIBS+=C:/progra~1/IBM/SQLLIB/lib/db2cli.lib"
4.1。如果已将DB2安装到其他目录
,请调整路径 4.2。确保将Program Files
替换为progra~1
(否则可能会因空格而出现问题)
运行C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmake
以构建库。可能会有一些警告,但它应该可以工作。如果成功,生成的库应位于C:\Qt\5.7\Src\qtbase\plugins\sqldrivers
运行C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmake
install,以便将生成的lib复制到C:\Qt\5.7\msvc2015_64\plugins\sqldrivers
启动Qt Creator,打开sqlbrowser示例项目,构建并运行它。如果成功,您现在应该能够从列表中选择QDB2驱动程序并连接到您的数据库