2013년 5월 28일 화요일

QT에서 MySQL 쓸 수 있게 설정.

Qt에는 기본적으로 MySQL을 쓸수 있게 되어있지 않다. Qt 책에 보면, 라이선스 제약 때문이라고 그러던데, Qt의 오픈소스 에디션에 모든 드라이버가 제공되지 않음.

각설하고, MySQL을 쓸수 있게 하려면 "뭔가"를 해줘야 하는데,,
회사에서 금번에 컴퓨터를 바꾸면서, 새로 그 작업을 다시 해줘야 했다.
기억이 안나서, 다시 그작업을 하려니 또 시간이 걸린다.

이번에는 과정을 좀 자세히 정리해야 할 것 같다.

(1) 먼저 Qt에는 소스파일 패키지가 설치되어 있어야 함.
      -> 확인방법 : 소스가 설치된 위치로 이동:
      -> 나의 경우는  C:\Qt\4.8.4\src\plugins\sqldrivers\mysql
             이 안에, mysql.pro와 main.cpp가 들어 있었다.

(2) MySQL을 깔아야 함. (이건 C:\MySQL에 설치하였음)
       ->  mysql-connector-c-6.0.2-win32.msi를 깔았음.

(3) mysql 소스가 설치된 위치로 이동 ==> (1)번의 위치로 이동

(4) Modify the file mysql.pro



    (수정할 포인트)  INCLUDEPATH와 LIBS 부분을 추가.


(5) qmake mysql.pro와 make를 실행

(6) 그러면, 네 개의 파일이 생겨남.  
      -> libqsqlmysql4.a / libqsqlmysqld4.a / qsqlmysql4.dll / qsqlmysqld4.dll
      -> 이 파일들이 C:\Qt\4.8.4\plugins\sqldrivers   에 저장됨.

(7) 그리고서 DOS prompt에서 다음을 실행하여 libmysql.dll 을 생성하여야 함
      -> go to C:\MySQL\lib\opt에서
      -> reimp -d libmysql.lib      (reimp.exe는 인터넷에서 다운로드함)
      -> dlltool -k -d libmysql.def -l libmysql.a

(8) 이렇게 생성된 libmysql.dll을 C:\Qt\4.8.4\bin 에 넣어야 함.
     (물론, C:\Qt\4.8.4\bin은 PATH에 잡혀있어야 함)


<마지막으로 주의사항>
프로젝트 파일인 .pro에 QT+=sql을 삽입한 후 실행해야 함.
=> QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");


다음의 글은 참고.




 

댓글 1개:

  1. .a와 .dll파일을 공유하실 수 있습니까?
    저는 실행하니까...에러가

    expected ')' before '*' token

    뜨네요....경로 등은 다 확인하였는데....ㅠㅠ

    답글삭제

잔디 3주차

 잔디 심기. 3주차에 접어들었음. 사진. 아래가 1일차 사진. 다음이 3주차.