MinGW의 다운로드 및 설치
Qt의 설치 및 소스 컴파일을 위해 Windows용 GCC를 http://www.mingw.org 으로부터 다운로드 받는다.
http://www.mingw.org 에 접속 후 Download 링크를 클릭하여 다운로드 받거나, 다음 링크로부터 직접 다운로드 받는다.
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780&release_id=595197
MinGW의 2009년 2월 1일 현재의 최신 버전은 5.1.4이다.
다운로드 페이지로 부터 MinGW-5.1.4.exe 를 다운로드 받는다.
MinGW-5.1.4.exe 는 MinGW의 설치 파일이 아닌 downlaod & install agent이다. MinGW-5.1.4.exe를 다운로드 받은 후 실행 시키면 다음과 같은 화면을 볼 수 있다.
[MinGW 설치 02]를 보면, 다운로드하고 설치까지 할 것인지, 다운로드만 할 것인지를 묻는다. 물론 다운로드와 설치를 다 해야하지 않을까?
[MinGW 설치 01] |
[MinGW 설치 02] |
[MinGW 설치 03] |
[MinGW 설치 04]에서는 다운로드 및 설치할 버전을 선택한다. 특별한 이유가 없다면 'Current'를 선택.
[MinGW 설치 05](Choose Components)는 설치할 컴포넌트를 선택하는 화면이다.
[Choose Components]에서는 다음 항목들은 선택해 준다.
MinGW base tools
g++ compiler
MinGW Make
Objective C가 궁금하다면, Objective C Compiler도 함께 선택한다.
[MinGW 설치 06]은 설치 경로 선택이다.
[MinGW 설치 04] |
[MinGW 설치 05] |
[MinGW 설치 06] |
[MinGW 설치 07]은 [MinGW 설치 05]에서 선택한 설치할 컴포넌트들을 다운로드 하는 화면이다. 다운로드된 파일은 MinGW-5.1.4.exe이 저장된 경로에 함께 저장된다.
이후 과정은 설명이 필요 없을 것 같다.
[MinGW 설치 07] |
[MinGW 설치 08] |
[MinGW 설치 09] |
Qt 다운로드 및 설치
다음으로부터 qt-win-opensource-4.4.3-mingw.exe를 다운로드 한다.
ftp://ftp.trolltech.com/qt/source/qt-win-opensource-4.4.3-mingw.exe
qt-win-opensource-4.4.3-mingw.exe를 실행 시키면, [Qt for Win 설치 01]과 같이 먼저 압축을 푼다.
[Qt for Win 설치 01] |
[Qt for Win 설치 02] |
[Qt for Win 설치 03] |
라이센스에 동의하고, 설치할 패키지를 선택하고, 설치 경로를 지정한다.
설치 경로는 설치 후, PATH 환경 변수를 설정해야하므로 잘 기억한다.
[Qt for Win 설치 04] |
[Qt for Win 설치 05] |
[Qt for Win 설치 06] |
[Qt for Win 설치 08]에서는 MinGW가 설치된 경로를 지정한다. [Qt for Win 설치 09]를 보면 w32api.h가 없다고 투덜거린다. 지원하는 버전이 3.2라나.
그런데 해당 디렉토리를 확인해 보면, w32api.h가 존재한다. 버전을 확인해 보니, MinGW의 최신 버전인 5.1.4에 포함된 w32api.h의 버전은 3.1.2이다.
이 부분때문에 설치를 몇번 포기했으나, 될대로 대라는 심정으로 그냥 무시하고 설치 했더니, 동작에 이상이 없었다. 결론. 무시하라.
[Qt for Win 설치 07] |
[Qt for Win 설치 08] |
[Qt for Win 설치 09] |
설치를 마무리한다.
[Qt for Win 설치 10] |
[Qt for Win 설치 11] |
경로 추가
PATH에 다음의 세 경로를 추가한다.
C:\DevTools\MinGW\bin
C:\DevTools\Qt-4.4.3\bin
C:\DevTools\MinGW\mingw32\bin
# g++ --version
g++ (Ubuntu 4.3.2-1ubuntu11) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
#./configure -prefix /qt4/qt-4.4.3
This is the Qt/X11 Open Source Edition.
You are licensed to use this software under the terms of either
the Q Public License (QPL) or the GNU General Public License (GPL).
Type 'Q' to view the Q Public License.
Type 'G' to view the GNU General Public License.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.
Do you accept the terms of either license?yes/strong>
:
:
for /qt4/qt-x11-opensource-src-4.4.3/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/qwebpage.pro
for /qt4/qt-x11-opensource-src-4.4.3/src/3rdparty/webkit/WebKit/qt/Plugins/Plugins.pro
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /qt4/qt_4.4.3
To reconfigure, run 'make confclean' and 'configure'.
#
|
환경 설정이 마무리 되었으면, 컴파일과 설치를 한다. gmake가 안되면, make를 사용해 주는 센스. ^^
# gmake
:
g++ -Wl,-rpath,/qt4/qt_4.4.3/lib -Wl,-rpath,/qt4/qt_4.4.3/lib -o qdoc3 .obj/release-shared/apigenerator.o .obj/release-shared/archiveextractor.o .obj/release-shared/atom.o .obj/release-shared/bookgenerator.o .obj/release-shared/ccodeparser.o .obj/release-shared/codechunk.o .obj/release-shared/codemarker.o .obj/release-shared/codeparser.o .obj/release-shared/command.o .obj/release-shared/config.o .obj/release-shared/cppcodemarker.o .obj/release-shared/cppcodeparser.o .obj/release-shared/cpptoqsconverter.o .obj/release-shared/dcfsection.o .obj/release-shared/doc.o .obj/release-shared/editdistance.o .obj/release-shared/generator.o .obj/release-shared/helpprojectwriter.o .obj/release-shared/htmlgenerator.o .obj/release-shared/jambiapiparser.o .obj/release-shared/javacodemarker.o .obj/release-shared/javadocgenerator.o .obj/release-shared/linguistgenerator.o .obj/release-shared/location.o .obj/release-shared/loutgenerator.o .obj/release-shared/mangenerator.o .obj/release-shared/main.o .obj/release-shared/node.o .obj/release-shared/openedlist.o .obj/release-shared/pagegenerator.o .obj/release-shared/plaincodemarker.o .obj/release-shared/polyarchiveextractor.o .obj/release-shared/polyuncompressor.o .obj/release-shared/qsakernelparser.o .obj/release-shared/qscodemarker.o .obj/release-shared/qscodeparser.o .obj/release-shared/quoter.o .obj/release-shared/separator.o .obj/release-shared/sgmlgenerator.o .obj/release-shared/text.o .obj/release-shared/tokenizer.o .obj/release-shared/tree.o .obj/release-shared/uncompressor.o .obj/release-shared/webxmlgenerator.o .obj/release-shared/yyindent.o -L/qt4/qt-x11-opensource-src-4.4.3/lib -lQtXml -L/qt4/qt-x11-opensource-src-4.4.3/lib -pthread -pthread -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
(test -z "" || cd "" ; targ=`basename qdoc3`; objcopy --only-keep-debug "$targ" "$targ.debug" && objcopy --strip-debug "$targ" && objcopy --add-gnu-debuglink="$targ.debug" "$targ" && chmod -x "$targ.debug" ) ;
make[1]: Leaving directory `/qt4/qt-x11-opensource-src-4.4.3/tools/qdoc3'
#
|
gmake install 명령으로 설치를 한다. gmake가 안된다고 오TL하면 바보.
# gmake install
:
cp -f -r /qt4/qt-x11-opensource-src-4.4.3/mkspecs/wincewm60professional-msvc2008 /qt4/qt_4.4.3/mkspecs/
cp -f -r /qt4/qt-x11-opensource-src-4.4.3/mkspecs/wincewm60standard-msvc2005 /qt4/qt_4.4.3/mkspecs/
cp -f -r /qt4/qt-x11-opensource-src-4.4.3/mkspecs/wincewm60standard-msvc2008 /qt4/qt_4.4.3/mkspecs/
#
|
에러가 없으면 설치 완료.
다음 URL에서 파일을 다운로드 한다.
cj-gos-computer:/devtools cjgo$ tar zxvf qt-mac-opensource-src-4.4.3.tar.gz |
cj-gos-computer:/devtools cjgo$ cd qt-mac-opensource-src-4.4.3 |
cj-gos-computer:/devtools/qt-mac-opensource-src-4.4.3 cjgo$ ./configure -prefix /devtools/qt-4.4.3
This is the Qt/Mac Open Source Edition.
You are licensed to use this software under the terms of
the GNU General Public License (GPL) versions 2 or 3.
Type '2' to view the GNU General Public License version 2.
Type '3' to view the GNU General Public License version 3.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.
Do you accept the terms of either license? yes
Creating qmake. Please wait...
g++ -c -o project.o -pipe -DQMAKE_OPENSOURCE_EDITION -g -fconstant-cfstrings -I. -Igenerators -Igenerators/unix -Igenerators/win
:
for /devtools/qt-mac-opensource-src-4.4.3/tools/qtestlib/updater/updater.pro
for /devtools/qt-mac-opensource-src-4.4.3/tools/xmlpatterns/xmlpatterns.pro
Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /devtools/qt-4.4.3
To reconfigure, run 'make confclean' and 'configure'.
cj-gos-computer:/devtools/qt-mac-opensource-src-4.4.3 cjgo$
|
cj-gos-computer:/devtools/qt-mac-opensource-src-4.4.3 cjgo$ make
cd src/tools/moc/ && make -f Makefile
g++ -c -pipe -Os -Wall -W -DQT_BOOTSTRAPPED -DQT_MOC -DQT_NO_CODECS -DQT_LITE_UNICODE -DQT_NO_LIBRARY -DQT_NO_STL -DQT_NO_COMPRESS -DQT_NO_DATASTREAM -DQT_NO_TEXTSTREAM -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_THREAD -DQT_NO_REGEXP -DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT_NO_GEOM_VARIANT -DQT_NO_USING_NAMESPACE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../mkspecs/macx-g++ -I. -I../../corelib/arch/generic -I../../../include -I. -I../../../include/QtCore -I. -I.uic/debug-shared -o release-shared/moc.o moc.cpp
:
g++ -headerpad_max_install_names -o qdoc3 .obj/release-shared/apigenerator.o .obj/release-shared/archiveextractor.o .obj/release-shared/atom.o .obj/release-shared/bookgenerator.o .obj/release-shared/ccodeparser.o .obj/release-shared/codechunk.o .obj/release-shared/codemarker.o .obj/release-shared/codeparser.o .obj/release-shared/command.o .obj/release-shared/config.o .obj/release-shared/cppcodemarker.o .obj/release-shared/cppcodeparser.o .obj/release-shared/cpptoqsconverter.o .obj/release-shared/dcfsection.o .obj/release-shared/doc.o .obj/release-shared/editdistance.o .obj/release-shared/generator.o .obj/release-shared/helpprojectwriter.o .obj/release-shared/htmlgenerator.o .obj/release-shared/jambiapiparser.o .obj/release-shared/javacodemarker.o .obj/release-shared/javadocgenerator.o .obj/release-shared/linguistgenerator.o .obj/release-shared/location.o .obj/release-shared/loutgenerator.o .obj/release-shared/mangenerator.o .obj/release-shared/main.o .obj/release-shared/node.o .obj/release-shared/openedlist.o .obj/release-shared/pagegenerator.o .obj/release-shared/plaincodemarker.o .obj/release-shared/polyarchiveextractor.o .obj/release-shared/polyuncompressor.o .obj/release-shared/qsakernelparser.o .obj/release-shared/qscodemarker.o .obj/release-shared/qscodeparser.o .obj/release-shared/quoter.o .obj/release-shared/separator.o .obj/release-shared/sgmlgenerator.o .obj/release-shared/text.o .obj/release-shared/tokenizer.o .obj/release-shared/tree.o .obj/release-shared/uncompressor.o .obj/release-shared/webxmlgenerator.o .obj/release-shared/yyindent.o -F/devtools/qt-mac-opensource-src-4.4.3/lib -L/devtools/qt-mac-opensource-src-4.4.3/lib -framework QtXml -L/devtools/qt-mac-opensource-src-4.4.3/lib -F/devtools/qt-mac-opensource-src-4.4.3/lib -framework QtCore -lz -lm -framework ApplicationServices
cj-gos-computer:/devtools/qt-mac-opensource-src-4.4.3 cjgo$
|
cheol-jae-kos-computer:/Developer/qt-mac-opensource-src-4.4.3 gocheory$ make install
:
cp -f -R /Developer/qt-mac-opensource-src-4.4.3/mkspecs/wincewm60standard-msvc2005 /Developer/qt-4.4.3/mkspecs/
cp -f -R /Developer/qt-mac-opensource-src-4.4.3/mkspecs/wincewm60standard-msvc2008 /Developer/qt-4.4.3/mkspecs/
cheol-jae-kos-computer:/Developer/qt-mac-opensource-src-4.4.3 gocheory$
|
[최종 설치 크기] |
[설치를 위한 중간 파일들 크기] |
01: #include <QApplication>
02: #include <QPushButton>
03:
04: int main(int argc, char *argv[])
05: {
06: QApplication app(argc, argv);
07: QPushButton hello("Hello Qt!");
08:
09: hello.show();
10:
11: return app.exec();
12: }
|
커맨드 창을 열고, hello.cpp를 저장한 디렉토리로 이동한다.
커맨드 창을 쉽게 열고 싶으면 여기를 참고한다.
디렉토리 내의 파일을 확인해 보면 다음과 같다.
>qmake -project 명령을 이용하여, 프로젝트 파일을 만든다.
>gmake -makefile 명령을 이용하여 Makefile을 생성한다.
총 세 개의 Makefile이 생성되었다. 설명 안해도 이름만 봐도 척하면 알것 같은 파일들이다.
>make 명령으로 프로젝트를 build 한다.
그런데 그냥 make를 실행하면 debug 버전 많이 build 된다.
release 버전을 build 하기를 원하면 >make release 또는 >make all을 실행한다.
release 또는 debug 디렉토리 안을 살펴보면, hello.exe가 생성되어 있는 것을 볼 수 있다.
다음은 hello.exe를 실행시킨 모습이다.
Mac OS에서의 실행 방법은 리눅스와 동일하다. 간략히 보자.
작업 디렉토리
#qmake -project
#qmake -makefile
#make
실행