윈도우

Code::Blocks 13.12 + wxWidgets 2.8.11 (윈도우에서)

ForceCore 2014. 1. 13. 10:16

저번의 실패이후엔 내가 왜 이짓을 하지 싶었다. 귀차니즘만 늘어서. 리눅스에선 잘만 되니까 정말로 필요한 때까진 미루기로 했다. 그리고 Filezilla처럼 wxWidget으로 프로그래밍을 하되, 리눅스에서 윈도우쪽으로 크로스컴파일하는 프로젝트도 있고 (!! - Filezilla에서 about 창을 한번 띄워보라)


근데 사실 크로스컴파일이 쉬운건 아니다. 이것도 몇번 해보다가, Arch에선 mingw32-gcc 가 설치가 안 돼서 대충 하다 말기도 했다.


다행인 것은 CodeBlocks 13.12가 나왔다는 것이다. 오호홋! 그래서 재시도 해보았다.

wxWidgets는 2.8.11이다. 아직은 이쪽이 리눅스에서도 대세니까.


http://forcecore.tistory.com/919

http://forcecore.tistory.com/1297


예전에 한게 있긴 하고, 이전에 하다 실패한것도 있다.


http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.8.6_to_develop_Code::Blocks_(MSW)


이번에 참고하는 가이드는 위 글이다.


CodeBlocks는 codeblocks-13.12mingw-setup-TDM-GCC-481.exe 로 받아서 설치했다. 왜? 저번의 경험상 TDM-GCC는 아무 이유 없이 실패할 확률이 적으니까. 버그가 있어서 용량이 큰 것을 컴파일하면 mingw버전은 실패할 우려가 있다.


아래의 두 곳을 PATH에 등록했다. (http://forcecore.tistory.com/280 대로 하라)

C:\Program Files\CodeBlocks\MinGW\bin

C:\Program Files\CodeBlocks\MinGW\mingw32\bin


이제, wxWidgets 를 컴파일 할 차례. (컴파일 안 하면 dll파일 자체가 없어서 윈도그에서 못 굴린다)


C:\wxWidgets-2.8.12\build\msw 에 들어간다.


mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean

mingw32-make -f makefile.gcc  MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release


를 했다. 그랬더니 허무하게도 그냥 쉽게 성공하고, Code::Blocks에서 hello world급의 프로그램을 (위저드 실행하면 만들어주는 기본 프로그램) 쉽게 돌릴 수 있었다. 이전에 귀찮게 고생했던건 뭐지;;; 그냥 안 되니까 안 되었다 라고 밖에 설명할 수 없다.


BUILD=release 부분을 BUILD=debug 로 바꾼 것도 빌드했다.


Code::Blocks에서도 프로젝트를 생성할 때 위에서 빌드한 것을 잘 인식할 수 있도록 MONOLITHIC, shared, unicode를 신경써서 잘 찍어서 사용해야 한다.