Qt를 사용하다 보면 charracter set이 맞지 않거나 Runtime Library(/MT나 /MD냐)가 맞지 않아서 나중에 링크 에러가 뜨는 경우가 있습니다.
이 경우 Qt를 다운받아서 재컴파일을 해 줘야 합니다. Qt는 기본적으로 자체 컴파일러는 내장하지는 않고 있으며 외부 컴파일러(MSCV, GCC 등)를 wrapping 만 하기 때문에 자신의 컴파일러를 이용해서 모든 것들을 자신의 마음대로 수정을 할 수가 있습니다.
우선 Cross-platform application framework 을 설치를 합니다.
이 경우 기본적으로 C:/QtSDK라는 폴더에 설치가 됩니다.
여기에서 lib 폴더가 있는데
C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib에 존재하는 lib 파일들
C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin 에 존재하는 dll 파일들
을 자신이 원하는 모듈들로 update해 줘야 합니다.
Qt 사이트( http://qt.nokia.com ) 에서 qt-win-opensource-4.7.4-vs2008.exe 파일을 다운받아 실행을 시켜 설치를 합니다.
기본 폴더는 C:\Qt\4.7.4 로 설치가 됩니다.
C:\Qt\4.7.4\mkspecs\win32-msvc2008 폴더로 가서(VS 버전에 맞는 폴더에 가면 됨) qmake.conf 파일을 자신에 맞도록 수정을 해 줍니다.
저는 다음과 같이 수정하도록 하겠습니다.
QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = byacc
QMAKE_YACCFLAGS = -d
#QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t- // by gilgil
QMAKE_CFLAGS = -nologo -Zm200
QMAKE_CFLAGS_WARN_ON = -W3
QMAKE_CFLAGS_WARN_OFF = -W0
#QMAKE_CFLAGS_RELEASE = -O2 -MD // by gilgil
QMAKE_CFLAGS_RELEASE = -O2 -MT
#QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi // by gilgil
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi
QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_YACC =
QMAKE_CFLAGS_LTCG = -GL
QMAKE_CFLAGS_MP = -MP
##### by gilgil #####
INCLUDEPATH += C:/Boost/include/boost-1_47
INCLUDEPATH += D:/Project/VDream/VDream70
LIBS += -LC:/Boost/lib
LIBS += -LD:/Project/VDream/VDream70/Bin
#####################
Visual Studio 2008 Command Prompt를 실행시킨 다음에 C:/Qt/4.74 폴더로 가서 configure.exe 명령어를 실행시킵니다. 이렇게 하면 VC 관련 project 파일들(*.sln, *.vcproj)이 생성이 됩니다. 여기에는 시간이 오래 걸립니다.
configure.exe 명령어가 완료가 되면
projects.pro 파일 및 projects.sln 파일이 생성되는 것을 확인할 수 있습니다.
projects.sln 파일을 열어 Option을 살펴 보면 qmake.conf에서 수정해 준 대로 옵션이 변경되어 있는 것을 확인할 수 있습니다.
다시 command로 와서 nmake.exe를 때려서 빌드를 합니다. 이 작업은 시간이 엄청 오래 걸립니다.
nmake로 build가 끝나면
lib 폴더에 있는 파일들이 최신 날짜로 update되어 있는 것을 확인할 수 있습니다.
확장자가 prl, dll, lib, ilk인 파일들을 다음과 같은 명령에 의해 복사를 해 줍니다.
copy C:\Qt\4.7.4\lib\*.prl C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib
copy C:\Qt\4.7.4\lib\*.dll C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib
copy C:\Qt\4.7.4\lib\*.lib C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib
copy C:\Qt\4.7.4\lib\*.ilk C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib
copy C:\Qt\4.7.4\lib\*.dll C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\bin
C:\QtSDK\Desktop\Qt\4.7.4\msvc2008\mkspecs\win32-msvc2008\qmake.conf 파일도 위에서 얘기한 바와 같이 그대로 편집을 해 줍니다(위에서 작업한 qmake.conf 파일을 그냥 복사해도 무방).
QtCreator를 띄워서 임의의 project를 만들고 프로그램을 빌드를 해 봅니다.
qmake.conf에서 수정된 내용대로 컴파일이 되고 실행 파일이 제대로 생성이 되는지를 확인합니다.
실행 파일(*.exe)가 제대로 build가 되면 성공입니다. 이것으로 설정 끝!!!
- qt-vs-01.jpg (210.2KB)(85)
- qt-vs-02.jpg (239.6KB)(53)
- qt-vs-03.jpg (183.5KB)(55)
- qt-vs-04.jpg (179.7KB)(58)
- qt-vs-05.jpg (277.7KB)(67)
- qt-vs-06.jpg (187.1KB)(53)
- qt-vs-07.jpg (82.7KB)(59)
- qt-vs-08.jpg (187.6KB)(56)
- qt-vs-09.jpg (271.7KB)(82)
- qt-vs-10.jpg (218.3KB)(56)
- qt-vs-11.jpg (190.3KB)(76)
- qt-vs-12.jpg (266.5KB)(86)
- qt-vs-13.jpg (308.1KB)(70)
- qt-vs-14.jpg (176.4KB)(67)
- qt-vs-15.jpg (201.7KB)(93)