2013-05-07 79 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驅動程序並連接到您的數據庫