QDB2不会编译

时间:2013-05-07 20:20:37

标签: database qt db2

如何插入/安装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”);可以工作

1 个答案:

答案 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

如果使用不同的路径,请在以下构建说明中相应地调整它们。

  1. 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);

  2. 使用管理权限打开Visual Studio命令行提示符(VS2015 x64 Native Tools-Eingabeaufforderungöffnen)

  3. cd到目录C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2

  4. 运行命令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(否则可能会因空格而出现问题)

  5. 运行C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmake以构建库。可能会有一些警告,但它应该可以工作。如果成功,生成的库应位于C:\Qt\5.7\Src\qtbase\plugins\sqldrivers

  6. 运行C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmake install,以便将生成的lib复制到C:\Qt\5.7\msvc2015_64\plugins\sqldrivers

  7. 启动Qt Creator,打开sqlbrowser示例项目,构建并运行它。如果成功,您现在应该能够从列表中选择QDB2驱动程序并连接到您的数据库