윈폼 프로그램을 맥, 리눅스에서 빌드하기(?!)

마이크로소프트가 오픈소스 프로젝트를 진행하면서 모노(Mono)를 이용한 크로스플랫폼 지원한다는 이야기를 많이 들었을 것이다. 사실 모노로 가지고 그대로 개발한다면서 Gtk#을 이용하고 하는 사람들도 있고, Xamarin을 결재해서 하는 사람들도 많다.

근데 기존에 Visual Studio를 통해 개발했던 프로젝트들, 특히 윈폼 프로젝트의 경우에는 코드 변환을 해야 하는지 그대로 이용해야 하는지 모르는 사람들이 많다. 국내에서 아직 Mono를 많이 쓰는 걸 본 적이 없어서 그런지 정보도 별로 없다. 있어도 대부분 모바일 크로스플랫폼을 위해 이용하던 방법들이 많고…

게다가 전에 윈도우 프로그래밍을 하라고 했을 때에도 “그럼 맥용, 리눅스용 따로 만들어야되요?” 라고 질문도 받긴 했다. (사실 자바 쓰면 그럴 일 없겠지만… 개발에 환경설정에 이런 저런 시간 좀 더 덜쓰는 쪽을 먼저 알려주고 싶었을 뿐이었고, 실제로도 쓸 수 있는 걸 보여주고 싶으니깐.)

간단하다 xbuild 명령어를 통해 직접 빌드를 진행하면 된다.

스크린샷 2016-03-10 오후 12.57.54

*주의: xbuild의 경우에는 make와 같은 빌드 명령처럼 쓰이기 때문에 모노를 전체 설치한 경우에 이용하기 쉽다. 맥의 경우에는 pkg를 통해서 설치했으면 별 문제 없겠지만, 리눅스의 경우에는 만약 전체 설치 안되어있다면 전체 설치를 권장한다.

사용법을 맥북에서 녹화해서 직접 유튜브에 올렸다.

실행 동영상

이로써 맥, 리눅스에서 이용할 수 있는 방법을 공유했다. 단, 이걸로도 지원이 안되는 부분이 있다.

  • 프로젝트 내부에 있는 COM 레퍼런스 파일들은 무시된다.
  • VC++, vdproj(Setup and Deployment) 프로젝트의 경우에는 지원되지 않는다.

즉, 간단하게 보면 C#으로 짠 프로그램에 한해서만 보면 된다. 자세한 내용은 아래의 링크 주소를 통해서 확인할 수 있다.

http://www.mono-project.com/docs/tools+libraries/tools/xbuild/

윈폼이란…?

윈도우에서 프로그램을 개발할 때, 옛날부터 써왔던 환경이 윈폼 환경입니다.

지금도 씁니다. 오래된 만큼 노하우와 코드 검증이 많이 되어있기 때문에 무시할 수는 없습니다.

단, 아시아의 어느 반도처럼 특정 버전의 윈도우만 고집하고, 특정 버전의 IE만 고집하면서 여전히 6.0 버전대로 개발하는 특수한 케이스 좀 어떻게 안되나 싶을 때도 있습니다. (ㅡㅅㅡ)ㅗ (그나마 깨어있는 분들 덕에 조금씩 버전 업 되고 있는 건 좋은 일이라 봅니다…;ㅅ;)

WPF보다 화려한 화면을 구성하고 하는 건 없지만, 그만큼 프로그램이 사용하는 리소스가 적다는 것도 좋은 이유가 될 수도 있고…

뭐, 쓰려면 또 제대로 쓰는 것이다 보니 여러모로 잡소리 좀 적어보려 합니다.

p.s. 코드로 하나하나 강의하는 건 아마 없을 겁니다. ㅡㅅㅡ