Gtk#은 모노 및 .Net 용 그래픽 사용자 인터페이스 툴킷이다. 이 프로젝트는 gtk + 툴킷과 다양한 그놈 라이브러리를 묶어서 Mono 및 .Net 개발 프레임 워크를 사용하여 크로스 플랫폼 GUI 응용 프로그램 개발이 가능하다. Gtk#으로 만든 프로그램은 반드시 아래에서 소개하는 Gtk# for. NET 깔아줘야 실행가능하다. (Gtk# for .NET이 없으면 설치해달라는 메시지가 같은게 나오면 좋을 것 같은데 그냥 실행이 되지 않는다는 점에 주의)
모노디벨로프 빌드를 위한 개발 환경 설정
원도우에서 Gtk#을 사용하기 위해서는 Mono Develop IDE를 빌드해야 한다. Mono Develop은 원도우용 실행파일은 바이너리 형태로 제공하지 않기 때문이다. 빌드 방법은 모노디벨로프 사이트(https://www.monodevelop.com/developers/building-monodevelop/)를 참고 하였다.
VisualStudio 2017 NET Desktop과 NET Coe, F# 컴포넌트 설치
마이크로소프트 사이트(https://visualstudio.microsoft.com/downloads/)에서 비주얼스튜디오 커뮤니티 버전 인스롤러를 다운로드 받아서 실행한다.

.NET desktop development 체크박스를 선택하고 다음 항목을 추가로 선택하고 Install 버튼을 클릭해서 설치를 시작한다. development toolssms 버전 의존성 문제를 해결하기 위해 여러 버전을 설치해주기로 한다.
- F# desktop language support
- .NET Framework 4.7 development tools
- .NET Framework 4.7.1 development tools
- .NET Framework 4.7.2 development tools
- .NET Core 2.1 development tools
- .NET Core 2.0 development tools

Git for Windows 설치
Git for windows 사이트(https://gitforwindows.org/)에서 프로그램을 다운로드 받아 설치한다.
.NET Framework 4.7.1 Reference Assemblies 설치
현재 Git 저장소에서 받을 수 있는 최신 버전 모노디벨로프 프로젝트는 .NET Framework 4.7.1 버전이 필요하다. 마이크로소프트 사이트에서 다운로드 받아 설치한다.
Mono for Windows와 GTK# for .NET 설치
닷넷 환경에서 Gtk# 기반 어플리케이션을 실행하려면 GTK# for. NET을 설치해야 한다.
모노 프로젝트 사이트(https://www.mono-project.com/download/stable/)에서 Mono for Windows와 GTK# for .NET을 다운로드 받아 설치한다.

Mono libraries 설치
- Install the Mono libraries package (installer)
GNU Gettext tools 설치

사이트(http://gnuwin32.sourceforge.net/packages/gettext.htm)에서 Complete package, except sources 패키지를 설치한다.
모노디벨로프 빌드하기
Git 저장소에서 소스 다운로드 받기
다음 커맨드를 통해 모노디벨로프 소스를 다운로드 받는다.
git clone https://github.com/mono/monodevelop --recursive -j8
Main.sln 파일을 열고 빌드
다운로드 받은 모노디벨로프 폴더 하위(main\Man.sln)에서 비주얼스튜디오 솔루션 파일을 찾은 후 클릭한다. 솔루션 파일을 열었을때 다음과 같은 경고가 뜬다. po.mdproj가 로드되지 않지만 해당 프로젝트 없이도 빌드는 이루어지니 상관하지 말자.


비주얼스튜디오 메뉴(Tools > NuGet Package Manager > Package Manager Console)를 통해 NuGet 패키지 콘솔창을 띄운다.그리고 콘솔창에 다음 커맨드를 입력하여 빌드에 필요한 패키지를 업데이트 한다.
Update-Package

마지막으로 빌드 설정을 DebugWin32 와 Any CPU로 선택하고 빌드 메뉴(Build > Build Solution)를 통해 솔루션 빌드를 시작한다.
main\build\bin 폴더에 MonoDevelop.exe가 생성이 되고 정상적으로 실행되는 것을 확인할 수 있다.
GTK 테스트 프로그램 제작
MonoDevelop의 솔류션 생성 메뉴(File > New Solution)를 통해 테스트용 Gtk# Project를 생성한다.


프로젝트 위자드에 의해 원도우창을 띄우는 샘플코드가 기본으로 입력되어 있다. 빌드 메뉴를(Build > Build All) 통해 빌드를 시도하면 에러가 발생하는 것을 확인할 수 있다. Gtk#을 빌드하기 위해서는 Mono.Posix 라이브러리가 필요한데 기본적으로 설치되어 있지 않다. 다음 그림과 같이 모노디벨로프의 왼쪽 Package 메뉴에서 Add Nuget Packages를 누른다.


그리고 Mono.Posix 패키지를 검색후 Add Pacakage 버튼을 누른다.
이제 빌드가 성공하고 프로그램 실행 메뉴를 누르면 원도우창이 뜨는 것을 확인할 수 있다.

맥에서 실행하고 싶으면 Gtk# 사이트(https://www.mono-project.com/download/stable/#download-mac)에서 Mono for macOS를 다운로드 받아 맥에 설치한후 exe파일이 있는 폴더로 이동후 다음 커맨드를 맥 콘솔에 입력한다.
mono GTKTest.exe
