[Programming/QT] - [QT] CentOS 7 환경에서 QOCI (Oracle DB) Driver 빌드
이전 포스팅에서는, QOCI 드라이버의 빌드를 CentOS 7 환경에서 진행하는 것으로 작성하였다.
이번 포스팅에서는 Windows에서 QOCI 빌드를 하는 법을 설명하려 한다.
필수 환경
QT 설치
QT 공식홈페이지 에서 QT를 다운로드 받아 설치한다.
설치 과정 중 필수로 Source 를 선택하여 QT소스코드가 함께 설치되도록한다.
본 게시글에서는 QT 5.9.1 버전을 사용한다.
빌드 환경으로는 MinGW 32bit를 사용하고있다.
Oracle SDK
Oracle Instant Client 에서 Oracle Instant Client를 다운받는다.
- Basic Package (ZIP)
- SDK Package (ZIP)
본 게시글에서는 19.12 버전(x86)을 사용하였다.
' Windows가 64bit를 사용하고 있더라도, Qt 설치시 MinGW를 32bit용으로 설치하였을 경우, 32bit용 라이브러리르 사용해야 한다.
해당 파일의 압축 해제는 "D:\tmp\instant-client" 에 했다.
빌드
sqldriver
의 소스코드가 위치한 경로로 이동한다
QT설치경로\5.9.1\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
해당 경로에 대해 CMd창을 실행한 뒤 아래 명령어를 입력한다.
qmake -- OCI_INCDIR="D:\tmp\instant-client\instantclient_19_12_x86\sdk\include" OCI_LIBDIR="D:\tmp\instant-client\instantclient_19_12_x86\sdk\lib\msvc"
위의 경로는 본인의 환경에 따라 적절히 수정해주면 되며, OCI_INCDIR
은 instant-client의 include 경로를, OCI_LIBDIR
은 instant-client의 oci.lib
파일이 위치한 경로를 입력하면 된다.
위의 명령어를 입력하면 아래와 같은 내용이 표출된다.
Running configuration tests...
Checking for DB2 (IBM)... no
Checking for InterBase... no
Checking for MySQL... no
Checking for OCI (Oracle)... yes
Checking for ODBC... yes
Checking for PostgreSQL... no
Checking for SQLite (version 2)... no
Checking for TDS (Sybase)... no
Done running configuration tests.
Configure summary:
Qt Sql:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. no
OCI (Oracle) ........................... yes
ODBC ................................... yes
PostgreSQL ............................. no
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... no
다른 부분은 신경쓰지 않아도 되고, OCI (Oracle)이 "yes" 인 것만 확인하면 되며, "no"가 뜰 경우 경로를 다시 확인하고, config.cache
파일을 삭제한 뒤 다시 명령어를 입력한다.
위 과정까지 완료되었을 경우, mingw32-make 명령어를 실행해 컴파일을 실행한다.
결과물
빌드 실행 결과물로, plugins\sqldrivers\qsqloci.dll
및 plugins\sqldrivers\qsqlocid.dll
이 생성되면 컴파일에 성공하였다.
'Programming > QT' 카테고리의 다른 글
[QT] QOCI를 이용한 CLOB 데이터 insert중 ORA-03113 (EOF) 오류 발생 대처법 (0) | 2021.06.30 |
---|---|
[QT] CentOS 7 환경에서 QOCI (Oracle DB) Driver 빌드 (0) | 2021.06.28 |
[QT] static assertion failed: Type is not registered, please use the Q_DECLARE_METATYPE (0) | 2019.06.25 |
[QT] C++ std::string과 QString 간의 문자열 형 변환 방법 (0) | 2019.06.18 |
[QT] QObject::connect: Cannot queue arguments of type 'Type Name' (0) | 2019.06.12 |
[QT] QByteArray를 QJsonValue로 변환하기 (0) | 2019.05.16 |
[QT] QDockWidget의 위치 및 상태 저장 (1) | 2019.05.14 |
[QT] 프로그램 실행 시 모니터 지정 및 풀스크린 실행 (0) | 2019.05.09 |