2013-05-07 101 views
0

如何插入/安装QDB2插件? (用于Qt的SQLDriver,用于连接到IBM DB2)。QDB2无法编译

我试图

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

这是有点旧,但我有类似的问题,让这个工作。 我也通过Google在这里找到了,所以可能有其他人面临同样的问题。

顺便说一下:$ QTDIR是为了适应您的配置而改变的。

我使用Qt 5.7.1,版本11.1的IBM 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原生工具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安装使生产出的库将被复制到C:\Qt\5.7\msvc2015_64\plugins\sqldrivers

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