CodeBlocks와 wxWidgets 에 관하여...

프로그래밍 2009/04/19 20:09 게으른 엔지니어
요즘 회사 일 때문에 OpenCV 라는 Computer Vision 라이브러리를 보고 있다. 프로그래밍을 제대로 아직 시작하지는 않았지만, 조만간 제대로 공부해 볼 생각이다. 회사 일로 데모를 만들고 있는데, 데모 하드웨어인 카메라가 OpenCV를 활용해서 만들었기 때문에 그 라이브러리에서 넘어오는 IplImage를 MATLAB과 Simulink에서 사용 가능하게 하는 것이다. 앞에 포스팅한 내용을 보면 IplImage에서 RGB로 데이타 뽑아 내는 방법을 찾았으니 월요일에 체크해 보면 알 수 있을 것이다.

조만간 바쁜 일이 끝나면 Image 처리등을 공부해 볼 생각이다. 알지 모르지만, MATLAB은 이미지 처리에서는 거의 독보적인 면이 있다. MATLAB에서 했을 경우 문제가 한가지 있는데, 바로 C 코드를 생성하지 못한다는 점이다. 물론 MATLAB Compiler를 이용해서 C/C++에서도 사용 가능한 라이브러리 형태로 만들 수 있지만, 크기가 너무 커진다는 단점이 있다. 또한 버전 dependency도 많기 때문에 Simulink로 작업을 하는 경우가 훨씬 좋다. 아직 Video and Image Processing Blockset을 제대로 공부하지 않아서 잘은 모르지만, 대충 아는 바로는 MATLAB에서 했던 대부분의 작업을 Simulink에서도 할 수 있게 해준다고 알고 있다. 게다가 Real-Time Workshop Embedded Coder를 이용해서 c 코드도 뽑을 수 있다. 뭐 이런 부분은 차차 시간이 나는 데로 해보고...

지금 포스팅하는 곳에서 설명하고자 하는 것은 CodeBlocks라는 C/C++ IDE와 wxWidgets 라는 다양한 플랫폼(Windows/Linux/Windows CE/Mac..)에서 사용 가능한 GUI Toolkit이다.

CodeBlocks 자체가 wxWidgets를 이용해서 개발되었기 때문에 다양한 플랫폼에서 사용 가능하다. IDE 이기 때문에 컴파일러와 같은 실제 개발 툴은 포함되어 있지 않지만, 윈도우용은 홈페이지에서 다운 받을때 MinGW 포함된 버전을 받을 수 있다. 나는 원래 MinGW와 Visual C++ 9.0 Express Edition이 인스톨되어 있는 상태인데, CodeBlocks를 인스톨하니 이 두 가지 컴파일러가 인스톨되어 있음을 인식했다. 처음 컴파일러 인식을 보니 ARM용 GCC도 인식하는 등 여러 가지 컴파일러를 인식하는 것을 알 수 있었다.

wxWidgets 은 다양한 플랫폼에서 GUI 만들 수 있도록 도와 주는 라이브러리이다. 만약 개발자가 단순히 윈도우즈 시스템 뿐만 아니라 Linux나 Mac에서도 동작하는 GUI 라이브러리를 만들 필요가 있을 경우는 이 라이브러리를 생각해보는 것도 괜찮을 듯하다. 국내는 워낙에 MFC를 이용해서 만드는 것이 대세이기는 하지만, 이런 크로스 플랫폼을 위한 GUI도 나쁘지 않음을 알 수 있다. 그리고 언제까지고 MS만을 보고 움직일 필요는 없다고 본다.

물론 프로그램을 개발해서 파는 회사 입장을 생각해 보면 빠른 시일 내에 원하는 프로그램을 만들어야 하므로 이미 익숙한 Visual Studio를 이용해서 만든다는 것은 충분히 이해할 수 있는 일이다. 그러나 학생들이라도 이런 Open Source 프로그램들을 이용해서 크로스 플랫폼을 지원하는 공부를 하다 보면 언젠가는 회사에서도 이런 프로그램들을 사용할 기회가 생길것으로 본다.

내가 다니는 회사는 미국계 회사인데, 회사 내에서 소프트웨어 라이센스에 대해서 정말 철저하게 관리한다. 물론 직원이 불법 소프트웨어를 쓸려고 마음 먹으면 쓸 수 있겠지만, 가능한 사용하지 말라고 하며, 필요한 경우에는 정품 소프트웨어를 구매해 준다. 하지만 가능하면 비슷한 기능이 있는 Open Source나 Freeware를 사용하는 것도 권장한다. 이런 Open Source나 Freeware의 경우 라이센스에 주의해서 사용하도록 한다. 가끔 개인용은 무료인데, 회사에서는 사용할 수 없는 라이센스(우리 나라의 경우 알집)도 있기 때문이다.

얼마전부터 C용 IDE로 Eclipse를 사용하고 컴파일러로 MinGW를 사용하기 시작했는데, CodeBlocks와 wxWidget을 이용해서 공부를 좀 더 해봐야 겠다.

사용하면서 같이 공유할 만한 내용은 여기에 계속 포스팅 하도록 하겠다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/response/196

댓글+트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/response/196

트랙백 주소 :: http://www.cipher.pe.kr/tt/cipher/trackback/196

트랙백 RSS :: http://www.cipher.pe.kr/tt/cipher/rss/trackback/196

트랙백 ATOM :: http://www.cipher.pe.kr/tt/cipher/atom/trackback/196

댓글을 달아 주세요

댓글 RSS 주소 : http://www.cipher.pe.kr/tt/cipher/rss/comment/196
댓글 ATOM 주소 : http://www.cipher.pe.kr/tt/cipher/atom/comment/196
[로그인][오픈아이디란?]