2015년 9월 20일 일요일

gmp compile

gmp 를 mingw32 에서 컴파일 할 때 64bit 환경에서 assembly 를 제대로 인식하지 못하는 경우가 있다. 이런 경우 configure 할 때 configure --disable-assembly 로 configure 를 하면 된다.
최종 적용된 옵션은 다음과 같다.

  • configure --disable-assembly --enable-cxx

2015년 8월 6일 목요일

2015년 7월 20일 월요일

libstdc++ conflict

mingw 에서 g++ 로 컴파일 한 프로그램을 실행시키다 보면 "the procedure entry point __gxx_personality_v0 could not be located" 같은 메시지가 나오면서 실행이 안되는 경우가 있다. 이는 libstdc++ 이 mingw 가 깔려 있는 곳 외에도 Windows/System32 와 같은 곳에 다른 버전의 libstdc++ 이 있기 때문이므로 mingw 버전의 libstdc++ DLL 을 먼저 찾을 수 있도록 PATH 를 조정해 주면 해결할 수 있다.

2015년 7월 19일 일요일

C / C++ 개발 환경

Code::Blocks 에서 wxWidgets 개발 환경 설정

프로젝트 생성 시 wxWidgets Wizard 가 생성해 주는 것이 제대로 설정이 안되는 것 같다. http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef 내용을 참고하여 Include 디렉토리와 Library 들을 제대로 설정해 줘야 한다.

우선 wxWidgets 설치는 source installer 를 이용해서 설치한 다음 --enable-monolithic --disable-shared --enable-optimise --enable-accel --enable-dccache 옵션을 줘서 컴파일한다.

(모든 라이브러리는 개발물 배포의 용이성을 위해 static library 로 빌드하도록 한다.)

Include path 에 빌드된 라이브러리의 include 파일을 추가한다.


이후 library path 에 빌드된 라이브러리를 찾을 수 있도록 추가한다.


라이브러리 목록을 추가해 주어야 한다. (monolithic 라이브러리로 만들었는데 왜 다 링크해야 하는지는 모르겠다.) 추가로 windows 라이브러리도 참조해야 하기 때문에 필요한 것들은 다 추가해 준다.


2015년 3월 17일 화요일

C / C++ 개발 환경

자바 언어가 사용하기엔 좋지만 항상 걸리는 점들이 있다. 첫번째는 자바는 JRE 환경이 필요하다는 저과 두번째는 오라클과 구글의 관계이다. 최근에 구글이 자바 관련 소송에서 졌기 때문에 자바의 입지가 그만큼 좁아졌다. 이에 따라 다시 한 번 C / C++ 개발 환경을 주 개발 환경으로 꾸며 보려고 한다.
이전에 정리한 것과 달라지는 것은 eclipse 에서 Code::Block 으로 바꾼 점이다. eclipse 역시 자바 기반으로 만들어진 툴이라 자바에 대한 의존성이 생기기 때문에 Code::Block 으로 바꾸기로 했다. GTK 를 GUI designer 없이 쓰는 것이 쉽지는 않아 보이나 성능 이슈도 있고 GUI designer 의 의존성을 버리기 위해 이렇게 하기로 했다.

GTK 와 wxWidgets 사이에선 wxWidgets 가 여러모로 우수한 것으로 보인다. 또한 GUI 프로그래밍을 C 로 한다는 것이 의외로 많은 문제를 가져오는 것 같다. 그래서 wxWidgets 를 C++ 환경으로 만들어 보는 것이 어떨까 싶다.

아마도 이런 환경에 익숙해지려면 좀 많은 시간이 필요할 것 같다.