c도 초보고 gtk+도 초보입니다. 하지만 셋팅을 하는 동안의 과정을 간략하게 정리하고자 합니다. dev-c++은 설치되었다는 전제하에서 설명하겠습니다. (참고로 dev-c++의 주소는 http://bloodshed.net/index.html입니다.) dev-c++을 한글환경에서 설명할 것이기 때문에 한글환경이 아니라면, 메뉴의 ‘tools’ -> ‘environment options’ 에서 ‘interface’ 탭에 있는’language’에서 ‘korea(한국어)’를 선택하세요.
1. gtk+ 설치를 위한 사전 작업 gtk+는 다른 라이브러리들과 의존성을 가지기 때문에 사전에 의존성을 가지는 라이브러리들을 설치해주어야 합니다.
라이브러리 목록은 다음과 같습니다.
glib
atk
pango
zlib
libpng
libpixman
cairo
위 7개의 라이브러리를 먼저 설치해 주어야 합니다. 마지막에 있는 cairo는 바로 위 두개(libpng, libpixman)에 의존성을 가지므로 cairo를 설치하기 전에 두개의 패키지를 먼저 설치하여야 하고, libpng는 zlib에 의존성을 가지므로 zlib를 먼저 설치해야 합니다. 일단 이부분은 접어두고 총 7개의 라이브러리를 먼저 설치해야 합니다. 아래 부분에서 자세히 설명을 할테니 넘어갑시다.
설치를 위해 dev-c++에서 제공하는 패키지 업데이를 진행하면 됩니다.
메뉴의 ‘도구’ -> ‘프로그램 업데이트’를 선택하면 아래와 같이 하나의 창이 뜹니다.
‘select devpak server’에서 ‘devpaks.org community devpaks’를 선택합니다.
그리고, 아래의 ‘check for updates’를 클릭합니다. 그려면 프로그래스바가 진행되고 ‘available updates list’에 업데이트할 수 있는 목록이 작성됩니다. 그리고, ‘check for updates’는 ‘download selected’로 바뀌게 됩니다.
순서대로 각 항목에 체크를 하고 ‘download selected’를 눌러주면 됩니다. (한 항목에 두개 이상의 패키지가 있으면, 체크란에 두개 다 체크하고 ‘download selected’를 눌러주면 됩니다.) 간단한 대화창과 함께 설치가 완료되면, 이제 준비작업은 끝났습니다. (사실 준비작업이라 말하기는 좀 그렇지만...)
2.gtk+ 설치 이제 gtk+를 체크하고 설치하면 됩니다.(download selected) 이제 gtk+를 프로그래밍을 하기 위한 준비는 끝났습니다. 그런데, 실행파일을 만들기 위해서는 dll 파일들이 필요합니다. 이 파일들을 gimp에서 다운받을 수 있습니다.
gtk+ 2 runtime environment를 다운받아야 하는데, 목록이 두개가 있습니다.
저는 xp환경이라 위에 있는 (version 2.10.6 for windows 2000 and newer)을 다운받고 압축풀고 설치를 시작하면 간단한 대화상자가 나오고, 설치를 하면됩니다.
3.gtk+ 프로그래밍 해보기 메뉴에서 ‘파일’ -> ‘새로 만들기’ -> ‘프로젝트’ 를 선택합니다. 그러면 아래와 같이 창이 뜹니다. basic 탭에서 gtk+ application, 프로젝트명을 적당히 적어주고 언어는 c를 선택합니다. 그리고 확인을 누르면 gtk+ 프로그래밍을 할 수 있게 소스창이 구성됩니다.
메뉴에서 ‘실행’ -> ‘컴파일’ 그러면 컴파일이 되고 실행파일이 만들어집니다. 이제 gtk 프로그램이 완성되었습니다.
이제 http://gtk.org에서 튜토리얼을 보면서 이것저것 공부하면 됩니다. ^^ (그런데, ‘실행’ -> ‘실행’을 눌러주면 먹통일 때가 있습니다. 소스를 컴파일 한 곳에서 가서, 실행파일을 어떤 dll파일이 필요하다는 에러메시지가 뜹니다. 이때를 위해 조금전에 gtk+ runtime environment를 설치한 것입니다. ‘program files’- > ‘common files’ -> ‘gtk’ -> ‘2.0’ -> ‘bin’ 폴더에 보면 많은 dll파일들이 있습니다. 그곳에서 dll 파일을 찾아 실행파일이 있는 곳에 복사하고 실행파일을 더블클릭하면 이제 실행이 됩니다. 패스를 걸어주셔도 됩니다.)
-> 설치하면서 에러남. 다시보니 단지 c와 c++을 위한 것같으니까 필요없어 보임. 난 VS쓸거니까.