GtkSharp - What is Gtk#? ; http://www.mono-project.com/GtkSharp
소스 코드와 설치 본이 함께 제공되고 있는데요. (참고로, GTK#은 MonoDevelop 다운로드 페이지에서도 링크가 제공됩니다.)
gtk-sharp (소스 코드) ; http://ftp.gnome.org/pub/gnome/sources/gtk-sharp/2.12/gtk-sharp-2.12.10.tar.gz
Gtk# for .NET (설치 파일) ; http://download.mono-project.com/gtk-sharp/gtk-sharp-2.12.10.win32.msi
제 경우에는 ^^ msi로 설치를 했습니다. 그 다음 MonoDevelop 3.0 을 설치합니다.
MonoDevelop 3.0 ; http://monodevelop.com/
다운로드 받아서 msi 로 설치를 마치면 "시작" 메뉴에 "MonoDevelop" 아이콘이 생기고 클릭하면 실행됩니다. 다음의 "새 프로젝트" 대화상자를 보면 대충 어떤 지원이 추가되었는지 짐작할 수 있을 것입니다.
아직 MonoDevelop 3.0.4.7에서는 C# 4.5 문법을 지원하지 않고 있어서 async/await은 쓸 수 없지만 아마도 조만간 Mono 3.0을 받아들이면서 가능하지 않을까 생각됩니다.
아래는 C# 4.0에서 제공되는 Extension Method메소드를 MonoDevelop IDE에서도 정상적으로 빌드되는 것을 보여줍니다.
실행은 어떨까요?
윈도우의 MonoDevelop IDE에서 컴파일 하여 생성된 Test.exe 를 그대로 리눅스에 가져가면 "mono Test.exe"로 실행하는 것이 가능합니다. 물론 그 반대도 되고.
재미있는 것은 윈도우의 Test.exe 의 실행 방식입니다. 윈도우에서 Test.exe를 단독으로 실행하면 해당 윈도우에 설치된 .NET Framework와 연결되어 실행되기 때문에 Mono가 설치되어 있지 않아도 정상적으로 구동이 가능합니다.
내 생전에 이런 걸 설치해 볼 줄이야... 누가 알았을까요? ^^
GTK+는 다음의 경로에서 다운로드 받습니다.
The GTK+ Project
; http://www.gtk.org/download/
64비트는 아직 시험버전이라고 하니 그냥 32비트 버전으로 다운로드 받습니다. 단순 zip 파일이기 때문에 압축을 풀고 수작업으로 설치를 해줘야 합니다. 설치 방법은 압축 해제한 후 나오는 README.txt 파일로 정리되어 있는데 간단하게 정리해 봤습니다. (물론, 웹 검색을 해보면 이런 작업을 자동화해서 설치 파일로 제공하는 것도 있습니다.)
- e:monogtk 에 압축을 풀고, e:monogtkbin 경로를 시스템 환경 설정에 PATH 경로 추가.
- 명령행 창을 열고 "pkg-config --cflags gtk+-2.0" 실행 (관리자 권한 없이 했는데도 잘 되는군요. ^^)
- 설치가 잘 되었는지 확인을 위해 명령행에서 "gtk-demo"를 실행
아직 GTK+를 공부할 생각은 없지만,... 시대가 이렇다 보니 언젠가 필요할 날이 있긴 하겠지요. ^^