2013-05-07 2 views
0

QDB2 플러그인을 삽입/설치하는 방법은 무엇입니까? (IBM DB2에 연결하기위한 Qt 용 SQLDriver). 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, IBM의 DB2 Express-C 버전 (버전 11.1) 및 Visual Studio 2015 업데이트 3 (x64 컴파일)을 사용했습니다. 지시 사항은 해당 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.8.0에서 수정 될 것 같다) Qt는 5.7.1의 버그가 있습니다. d->hDbc = reinterpret_cast<SQLHANDLE>(con);

  2. 열기 비주얼 스튜디오 명령 프롬프트 관리 권한 (VS2015 64 기본 도구 - Eingabeaufforderung의 öffnen)에 d->hEnv = reinterpret_cast<SQLHANDLE>(env); 라인 1191에 파일 C:\Qt\5.7\Src\qtbase\src\sql\drivers\db2\qsql_db2.cpp과 변화 라인 1190을 열고 디렉토리에

  3. cdC:\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. 라이브러리를 구축 할 수

  5. 실행 C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmake (그렇지 않으면 인해 공간에 몇 가지 문제가있을 수 있습니다) 당신이 progra~1Program Files을 교체해야합니다. 그럼에도 불구하고 경고가있을 수 있습니다. 성공하면, 생성 libs와는 구축 및 실행, 생성 libs와 C:\Qt\5.7\msvc2015_64\plugins\sqldrivers

  6. 시작 Qt는 창조주에 복사하여 조치 할 수 있도록 설치 sqlbrowser 예제 프로젝트를 열 C:\Qt\5.7\Src\qtbase\plugins\sqldrivers

  7. 실행 C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\db2>nmake에 위치해야합니다. 성공하면 목록에서 QDB2 드라이버를 선택하고 데이터베이스에 연결할 수 있습니다.