wxWidgets 사용하는 개발환경 구축하기(3/3)-Code::Blocks 설치

Posted by 빵빵빵
2013/05/23 18:10 전산(컴퓨터)/wxWidgets



개발환경 마지막 3단계군요...

여기서는 IDE인 Code::Block(코드블럭)를 설치하고 민지와 아까 컴파일한 wxWidgets를 설정하는 방법을 알아보도록 하겠습니다.

그럼 코드블럭을 다운로드 받아볼까요?

http://www.codeblocks.org/downloads
 에서 다운로드 할수 있습니다.
윈도우즈용 직다는 2013년 5월23일 현재 http://www.codeblocks.org/downloads/26 에서

Windows logo Windows 2000 / XP / Vista / 7:

File Date Size Download from

codeblocks-12.11-setup.exe

codeblocks-12.11-setup_user.exe

28 Nov 2012 28.2 MB

BerliOS or Sourceforge.net

BerliOS or Sourceforge.net

codeblocks-12.11mingw-setup.exe

codeblocks-12.11mingw-setup_user.exe

28 Nov 2012 96.8 MB

BerliOS or Sourceforge.net

BerliOS or Sourceforge.net


요렇게 배포되고 있습니다.


우리는 민지를 깔았기 때문에 codeblocks-12.11-setup.execodeblocks-12.11-setup_user.exe 를 설치하면 됩니다. user가 붙은 것은 사용자계정(관리자 계정이 아닌 계정) 용입니다.


mingw가 붙은 것은 셋업에 민지가 포함되어 있어 같이 깔 수 있는 설치판입니다.
(이걸 먼저 설치했으면 민지도 자동으로 깔렸겠네요... 킁.... 이제야 보다니... ㅡㅜ)


전 관리자 계정을 사용하고 있으므로 codeblocks-12.11-setup.exe로는 한번 설치를 해봤으니까..

설명서 작성하면서는  codeblocks-12.11mingw-setup.exe 를 다운받아 사용하도록 하겠습니다.

BerliOS 나 Sourceforge.net 링크를 클릭하시면 됩니다. 저는 Sourceforge.net 링크에서 받도록 하겠습니다.
http://sourceforge.net/projects/codeblocks/files/Binaries/12.11/Windows/codeblocks-12.11mingw-setup.exe/download

자~ 이제 설치를 시작해 볼까요?
사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

1. 다른 실행중인 프로그램을 닫으라는 안내문... 무시해버렸습니다.

2. GPL 동의... 해야만 설치합니다... 라이센스는 동의해야죠...

3. 설치할 컴포넌트입니다. 우리는 2/3 에서 민지를 설치했기 때문에 여기서는 체크를 해제하고 나머지 컴포넌트만 설치합니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

4. 설치 대상 디렉토리... 기본값을 그냥 썻습니다.

5. 인스톨이 진행됩니다. 슉슉슉~

6. 인스톨이 완료되면 바루 실행해 볼꺼냐고 묻습니다. 저는 "예"를 누질러줬습니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

7. 컴파일러를 자동으로 찾아냅니다. 제 컴의 경우에는 민지의 gcc와 MS의 VS2008이 깔려 있으므로 두개가 인식되는군요. 우리는 민지의 gcc를 사용할 것이므로 맨 위에껄 선택하고 우측의 "Set as default" 버튼을 클릭하여 기본 컴파일러를 설정합니다.

8. gcc를 선택을 해야 "Set as default" 버튼이 활성화 됩니다. 이 버튼을 클릭하고 "OK" 버튼을 클릭합니다.

9. 이때 코드블럭이 실행되고 C/C++ 타입의 파일을 코드 블럭에 연결하겠냐 물어보는 창이 뜹니다. 소스파일과 코드블럭을 연결하는 거 같습니다. 왜... 확장자 mp3 클릭하면 자동으로 플레이어 실행해서 음악 나오는 거처럼 C/C++ 파일 더블클릭하면 코드블럭이 실행되는 그런거 같습니다.

9. 메뉴의 끝에서 두번째 "Settings"=> 밑에서 세번째 "Global variables..." 를 클릭하면 나타나는 화면입니다. 여기서 wxWidgets의 설치 위치를 설정해 줘야 합니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

10. 두번째 줄의 "Current variable"의 우측에 있는 "New" 버튼을 클릭하면 "Please specify a name for the new variable:" 라는 창이 나옵니다. 여기에 wx라고 입력하고 OK 버튼을 클릭합니다.

11. 두번째 줄의 "Current variable" 항목에 wx가 입력됩니다. 하단 첫번째 줄의 "base" 항목에 아까 우리가 컴파일한 wxWidget의 메인 디렉토리를 입력하고 "Close" 버튼을 클릭합니다.

12. 메인 화면에서 "Create a new project" 를 클릭하면 "New from template" 창이 뜹니다. 여기서 wxWidgets 프로젝트를 생성해 보도록 하겠습니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

13. wxWidgets 클로스 플렛폼 프로젝트 생성을 시작하겠다는 안내입니다. "Next" 버튼을 클릭합니다.

14. 우리는 wxWidgets 2.8.x를 설치했으므로 자동으로 인식을 해줍니다. "Next" 버튼을 클릭합니다.

15. 프로젝트 이름과, 프로젝트가 저장될 폴더위치, 프로젝트 파일 이름, 풀패스 입력/확인합니다. 프로젝트 이름과 프로젝트가 저장될 폴더 위치만 입력하면 나머지는 자동으로 만들어줍니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

16. 프로그램 작성자, 작성자의 이메일, 웹사이트 정보를 입력합니다. 나중에 소스에 자동으로 삽입시켜 줍니다.

17. 어플리케이션의 타입을 설정합니다. GUI 빌더 선택?? 이건 아직 모르겠습니다. 더 공부해보고 쓰겠습니다. GUI 빌더라는게 화면 디자이너 더군요. 리소스 디자이너.. wxSmith는 코드블럭에 내장되어 있는 거구요.

wxFormBuilder는 내장되어 있지는 않은데 wxSmith 보다 좀더 좋다고 합니다. 다만 다운받아서 설정을 해야 한다는 불편함이.... ㅋ 요 설정 방법은 다음 글로 올리도록 하겠습니다.

어플리케이션 타입은 다이얼로그 형태이냐 프레임형태이냐 선택인데... 다이얼로그 베이스드는 계산기 형태고요, 프레임형태는 메모장 같은 형태입니다.

18. wxWidgets 의 위치를 알려주는 겁니다. 위에 9번에서 설정한 wx 변수가 여기 들어갑니다. 대충 통밥을 굴려보면 $(#) 가 변수를 쓰겠다는 표시 같습니다. 그 안에 wx를 넣으면 wx라는 변수를 쓰겠다는 거고... 아까 9번에서 wx 변수는 base 값에 wxWidgets의 위치를 넣어줬기 때문에 여기서는 그 변수이름을 넣어서 wxWidgets의 위치를 알려주는 것입니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

19. 컴파일러를 선택하고(여기서 우리는 gcc죠~~), 디버그와 릴리즈 컴파일시 출력 파일과 오브젝트 파일의 위치, 환경설정 파일을 설정합니다.

20. 기본적으로 이 화면은 아무것도 체크되어 있지 않는데, 우리는 wxWidgets dll을 사용할 것이고 유니코드로 컴파일 된 모듈이기 때문에 화면과 같이 2개를 체크해 줍니다.

21. 이건 아직 wxWidgets dll이 릴리즈 모듈로 컴파일이 안되서 나오는 듯합니다. 릴리즈 컴파일 중에 이 글을 쓰고 있어서 나오는 것 같습니다. 코드블럭이 릴리즈 wxWidgets를 못찾았다는 의미이고, 이 프로젝트는 릴리즈로 컴파일 할수 없다는 소리입니다. 일단은 릴리즈 설정도 필요하므로 "예"를 선택합니다. wxWidgets 릴리즈 모듈이 컴파일 되면 정상 작동할테니깐요.(그렇게 되겠죠...???? 아직 안해봐서.ㅋ)

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지
22. 추가 wx 라이브러리를 선택하는 화면입니다. 기본 라이브러리 이외에 추가 라이브러리들이 이런것들이 제공되는 듯합니다. 이녀석들을 사용하려면 선택해주시면 됩니다. 주의할 점은 선택한 라이브러리가 실제로 존재하는지 체크하지 않기 때문에 나중에 컴파일 시점에 선택한 라이브러리가 없으면 에러가 나고 컴파일이 되지 않습니다. 여기서는 아무것도 선택하지 않고 다음으로 넘어가겠습니다.

23. 프로젝트 생성이 완료되었습니다.

24. 메뉴의 Build=>Build 를 클릭하시면(혹은 단축키 Ctrl+F9) 컴파일이 됩니다. 하단 아웃창에 0 errors, 0 warnings (0 minutes, 3 seconds) 라고 컴파일이 잘 됬다는 메시지가 나옵니다.

사용자 삽입 이미지

25. 메뉴의 "Build"=>"Run" 을 클릭하면(혹은 단축키 Ctrl+F10) 컴파일된 프로그램이 화면과 같이 실행됩니다.

"Welcome to wxWidgets" 라고 출력된 코딱지 만한 다이얼로그 보이시죠?


자~ 여기까지~~~ 코드 블럭을 설치해보고 민지랑 wxWidgets를 연결해서 샘플 프로젝트를 컴파일하고 실행까지 해봤습니다.
2013/05/23 18:10 2013/05/23 18:10

wxWidgets 사용하는 개발환경 구축하기(2/3)-wxWidgets 설치

Posted by 빵빵빵
2013/05/23 16:58 전산(컴퓨터)/wxWidgets



두번째로 설치해야 할 것이 wxWidgets 라이브러리 입니다.


이 친구는 소스 형태로 배포되기 때문에 다운 받아서 컴파일을 해줘야 dll이 생성됩니다.(리눅스의 경우에는 .so나 .a 파일이 생성되겠지 추측해봅니다.) 컴파일은 앞서 설치한 민지에 포함되어 있는 컴파일러를 사용할 겁니다.

참고 : MFC는 MS에서 컴파일되서 dll 형태로 배포가 되지만, wxWidgets는 소스형태로 배포되기 때문에 이걸 개발자가 컴파일 해서 사용해야 합니다.


저는 공유 dll과 unicode 모듈의 debug/release 로 컴파일을 해보도록 하겠습니다.

여기서 생성된 dll은 문자 처리를 유니코드로 처리하고 디버그 모듈과 릴리즈 모듈을 만들어 내게 됩니다.

디버그 모듈은 디버그시 참조되는 상세한 데이터를 보여주므로 속도가 좀 느리고, 용량이 좀 크고요, 내가 짠 프로그램의 오동작이나 버그를 찾아내어 패치할 수 있게 해줍니다.

MFC의 MFC42UD.DLL 같은 부류의 파일들과 같은 거라 보시면 됩니다.


릴리즈 모듈은 위에 말한 상세 정보를 보여주지 않고 그냥 기능에 충실한 모듈입니다. 실제 사용자에게 배포될 모듈로 조금더 빠른 처리 속도와 저용량으로 최적화 된 모듈입니다. 개발한 프로그램을 배포시에 딸려보낼 파일이라고 생각하시면 됩니다.

MFC의 MFC42U.DLL 같은 부류의 파일들과 같은 거라 보시면 됩니다.


다운로드 URL : http://www.wxwidgets.org/downloads/ 에서

Current Stable Release: wxWidgets 2.8.12 Downloads (SourceForge | UK Mirror)

  • Source Archives
    • wxAll - all wxWidgets ports (other formats: bz2, zip)

를 다운로드 받도록 하겠습니다.

요 라인 아래로 wxMSW니 wxGTK니 wxMAC, wxX11, 기타 등등이 있지만 한방에 다 받기로 했습니다.

제가 다운 받으니 wxWidgets-2.8.12.tar.gz 이 받아집니다. 스터블(stable;안정) 버전의 마지막 버전입니다.
2013년 5월 23일 현재...


다운 받았으니 압축을 풀어야죠? 저는 회사에서도 무료로 쓸수 있는 반디집을 사용하여 풀었습니다. (감사한 마음에 링크를 걸어드립니다.)


알아서 풀어주세요... ㅋ 쉽잖아요. 이렁건...

풀린 wxWidgets-2.8.12 디렉토리를 C:\wxWidgets-2.8.12 로 옮겼습니다.



자.. 이제 명령 프롬프트를 다시 띄워보세요... (윈도우키 + R -> cmd 엔터)

여기서부터는 커맨드 명령을 사용합니다.

그리고 C:\wxWidgets-2.8.12\build\msw 로 디렉토리를 옮깁니다. " cd C:\wxWidgets-2.8.12\build\msw" 라고 치세요.

msw가 마이크로 소프트 윈도우 의 약자 같군요.... 그럴거 같습니다.

요기서 부터 민지를 씁니다.

bash 라고 치고 엔터를 쳐보세요. 그리고 pwd라고 쳐보세요.

사용자 삽입 이미지

bash를 실행하는 순간 리눅스 스타일의 쉘이 되 버렸죠?

리눅스에서 현재 디렉토리 위치를 보는 명령어 pwd를 치니까 C:\wxWidgets-2.8.12\build\msw 가  /c/wxWidgets-2.8.12/build/msw 로 약간 바뀌었네요.


자 이제 wxWidgets 을 컴파일 해 봅시다.

디버그로 컴파일 하기

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

위에 적은 두줄중
첫번째 줄이 소스코드를 클린 시키는 거라는데.... 소스파일을 컴파일 하기전에 정리한다고 보시면 됩니다.
시간은 몇십초 정도 걸립니다.
두번째 줄이 실제로 컴파을 시행하여 dll파일을 만듭니다. 시간이 꽤 걸립니다. 라면하나 끓이시기 바랍니다.


릴리즈로 컴파일 하기

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

위에 적은 두줄중
첫번째 줄이 소스코드를 클린 시키는 거라는데.... 소스파일을 컴파일 하기전에 정리한다고 보시면 됩니다.

시간은 몇십초 정도 걸립니다.

두번째 줄
이 실제로 컴파을 시행하여 dll파일을 만듭니다. 이것도 꽤 시간이 걸림니다. 아까 끓인 라면을 드시면 됩니다.


이 시점에 눈치를 채신 분도 있겠지만

SHARED=0 으로 하면 static 라이브러리로 생성됩니다.(내가 짠 프로그램에 같이 링크가 되는 형태로 생성=>dll이 만들어지지 않습니다.)

UNICODE=0 으로 하면 유니코드를 사용하지 않는 멀티바이트 라이브러리로 생성됩니다.

우리는 한글(2바이트짜리)을 사용하기 때문에 유니코드를 반드시 사용해야 한다는 글을 인터넷 어디선가에서 봤는데...

아직 저도 배우는 단계이므로 일단은 유니코드로 작업을 진행하고 나중에 멀티바이트로 컴파일해서 테스트 해보도록 하겠습니다.)



컴파일 정리~~~ 스크립트로 만들었습니다.

디버그 유니코드 모듈 클린/컴파일
디버그 멀티바이트 모듈 클린/컴파일
릴리즈 유니코드 모듈 클린/컴파일
릴리즈 멀티바이트 모듈 클린/컴파일


read -p "메시지" 로 각 클린/컴파일시에 정상적으로 끝났는지 확인 할 수 있게 대기합니다.

정상 처리된 경우 엔터키를 쳐서 다음 클린/컴파일을 하면 됩니다.

================================================================================
mingw32-make -f makefile.gcc BUILD=debug UNICODE=1 SHARED=1 clean
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "unicode debug cleaned"
mingw32-make -f makefile.gcc BUILD=debug UNICODE=1 SHARED=1
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "unicode debug compiled"

mingw32-make -f makefile.gcc BUILD=debug UNICODE=0 SHARED=1 clean
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "ansi debug cleaned"
mingw32-make -f makefile.gcc BUILD=debug UNICODE=0 SHARED=1
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "ansi debug compiled"

mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 clean
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "unicode release cleaned"
mingw32-make -f makefile.gcc BUILD=release UNICODE=1 SHARED=1
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "unicode release compiled"

mingw32-make -f makefile.gcc BUILD=release UNICODE=0 SHARED=1 clean
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "ansi release cleaned"
mingw32-make -f makefile.gcc BUILD=release UNICODE=0 SHARED=1
ls -la /c/wxWidgets-2.8.12/lib/gcc_dll/
read -p "ansi release compiled"

================================================================================


빌드된 dll 모듈이 어디로 떨궈져 나올까요?

바로 C:\wxWidgets-2.8.12\lib\gcc_dll 디렉토리로 떨궈집니다.

위에 4가지 타입으로 컴파일을 하면 파일 목록이 이렇게 나오는 군요.

================================================================================
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 1216-9BEC

 C:\wxWidgets-2.8.12\lib\gcc_dll 디렉터리

2013-05-24  오후 01:13    <DIR>          .
2013-05-24  오후 01:13    <DIR>          ..
2013-05-23  오후 04:44             2,219 du.txt
2013-05-23  오후 05:06             2,269 du2.txt
2013-05-24  오후 01:13                 0 du3.txt
2013-05-24  오후 12:57         4,736,852 libwxbase28.a
2013-05-24  오전 11:52         4,746,662 libwxbase28d.a
2013-05-24  오전 11:52           325,926 libwxbase28d_net.a
2013-05-24  오후 12:03            66,214 libwxbase28d_xml.a
2013-05-24  오후 12:24         4,748,400 libwxbase28u.a
2013-05-24  오전 10:05         4,769,874 libwxbase28ud.a
2013-05-24  오전 10:05           326,700 libwxbase28ud_net.a
2013-05-24  오전 10:16            64,850 libwxbase28ud_xml.a
2013-05-24  오후 12:24           325,926 libwxbase28u_net.a
2013-05-24  오후 12:36            64,678 libwxbase28u_xml.a
2013-05-24  오후 12:57           325,828 libwxbase28_net.a
2013-05-24  오후 01:09            66,198 libwxbase28_xml.a
2013-05-24  오후 12:53           219,470 libwxexpat.a
2013-05-24  오전 11:48           337,370 libwxexpatd.a
2013-05-24  오후 12:53           167,376 libwxjpeg.a
2013-05-24  오전 11:48           775,450 libwxjpegd.a
2013-05-24  오후 12:02         1,909,310 libwxmsw28d_adv.a
2013-05-24  오후 12:04           829,886 libwxmsw28d_aui.a
2013-05-24  오후 12:01         9,260,432 libwxmsw28d_core.a
2013-05-24  오후 12:03           792,834 libwxmsw28d_html.a
2013-05-24  오후 12:02           209,774 libwxmsw28d_media.a
2013-05-24  오후 12:04         1,732,980 libwxmsw28d_richtext.a
2013-05-24  오후 12:03           497,452 libwxmsw28d_xrc.a
2013-05-24  오전 10:15         1,909,848 libwxmsw28ud_adv.a
2013-05-24  오전 10:17           830,058 libwxmsw28ud_aui.a
2013-05-24  오전 10:14         9,259,524 libwxmsw28ud_core.a
2013-05-24  오전 10:16           791,478 libwxmsw28ud_html.a
2013-05-24  오전 10:15           209,824 libwxmsw28ud_media.a
2013-05-24  오전 10:17         1,738,714 libwxmsw28ud_richtext.a
2013-05-24  오전 10:17           497,704 libwxmsw28ud_xrc.a
2013-05-24  오후 12:36         1,909,310 libwxmsw28u_adv.a
2013-05-24  오후 12:37           829,886 libwxmsw28u_aui.a
2013-05-24  오후 12:35         9,230,398 libwxmsw28u_core.a
2013-05-24  오후 12:36           789,622 libwxmsw28u_html.a
2013-05-24  오후 12:36           209,002 libwxmsw28u_media.a
2013-05-24  오후 12:38         1,734,772 libwxmsw28u_richtext.a
2013-05-24  오후 12:37           497,452 libwxmsw28u_xrc.a
2013-05-24  오후 01:08         1,904,894 libwxmsw28_adv.a
2013-05-24  오후 01:10           827,900 libwxmsw28_aui.a
2013-05-24  오후 01:08         9,250,876 libwxmsw28_core.a
2013-05-24  오후 01:09           792,642 libwxmsw28_html.a
2013-05-24  오후 01:09           208,512 libwxmsw28_media.a
2013-05-24  오후 01:11         1,732,652 libwxmsw28_richtext.a
2013-05-24  오후 01:10           496,400 libwxmsw28_xrc.a
2013-05-24  오후 12:53           188,188 libwxpng.a
2013-05-24  오전 11:48           495,962 libwxpngd.a
2013-05-24  오후 12:52            82,002 libwxregex.a
2013-05-24  오전 11:48           163,630 libwxregexd.a
2013-05-24  오후 12:20           104,106 libwxregexu.a
2013-05-24  오전 10:01           187,658 libwxregexud.a
2013-05-24  오후 12:53           355,798 libwxtiff.a
2013-05-24  오전 11:48           738,528 libwxtiffd.a
2013-05-24  오후 12:52            80,348 libwxzlib.a
2013-05-24  오전 11:48           162,218 libwxzlibd.a
2013-05-24  오후 01:11    <DIR>          msw
2013-05-23  오후 05:40    <DIR>          mswd
2013-05-24  오후 12:38    <DIR>          mswu
2013-05-23  오후 03:40    <DIR>          mswud
2013-05-24  오전 11:52        35,553,882 wxbase28d_gcc_custom.dll
2013-05-24  오전 11:52         1,379,155 wxbase28d_net_gcc_custom.dll
2013-05-24  오후 12:03           467,969 wxbase28d_xml_gcc_custom.dll
2013-05-24  오전 10:05        35,980,580 wxbase28ud_gcc_custom.dll
2013-05-24  오전 10:05         1,424,030 wxbase28ud_net_gcc_custom.dll
2013-05-24  오전 10:16           468,081 wxbase28ud_xml_gcc_custom.dll
2013-05-24  오후 12:24         4,680,540 wxbase28u_gcc_custom.dll
2013-05-24  오후 12:24           324,460 wxbase28u_net_gcc_custom.dll
2013-05-24  오후 12:36           256,064 wxbase28u_xml_gcc_custom.dll
2013-05-24  오후 12:57         4,639,199 wxbase28_gcc_custom.dll
2013-05-24  오후 12:57           318,647 wxbase28_net_gcc_custom.dll
2013-05-24  오후 01:09           255,598 wxbase28_xml_gcc_custom.dll
2013-05-24  오후 12:02         6,468,660 wxmsw28d_adv_gcc_custom.dll
2013-05-24  오후 12:04         2,626,441 wxmsw28d_aui_gcc_custom.dll
2013-05-24  오후 12:02        96,990,043 wxmsw28d_core_gcc_custom.dll
2013-05-24  오후 12:03         6,134,124 wxmsw28d_html_gcc_custom.dll
2013-05-24  오후 12:02         1,151,180 wxmsw28d_media_gcc_custom.dll
2013-05-24  오후 12:04         5,532,284 wxmsw28d_richtext_gcc_custom.dll
2013-05-24  오후 12:03         8,955,815 wxmsw28d_xrc_gcc_custom.dll
2013-05-24  오전 10:15         6,575,785 wxmsw28ud_adv_gcc_custom.dll
2013-05-24  오전 10:17         2,651,710 wxmsw28ud_aui_gcc_custom.dll
2013-05-24  오전 10:15        97,650,052 wxmsw28ud_core_gcc_custom.dll
2013-05-24  오전 10:16         6,037,496 wxmsw28ud_html_gcc_custom.dll
2013-05-24  오전 10:15         1,173,596 wxmsw28ud_media_gcc_custom.dll
2013-05-24  오전 10:17         5,585,629 wxmsw28ud_richtext_gcc_custom.dll
2013-05-24  오전 10:17         9,177,817 wxmsw28ud_xrc_gcc_custom.dll
2013-05-24  오후 12:36         1,551,104 wxmsw28u_adv_gcc_custom.dll
2013-05-24  오후 12:37           744,362 wxmsw28u_aui_gcc_custom.dll
2013-05-24  오후 12:35        10,861,682 wxmsw28u_core_gcc_custom.dll
2013-05-24  오후 12:36         1,083,885 wxmsw28u_html_gcc_custom.dll
2013-05-24  오후 12:36           318,981 wxmsw28u_media_gcc_custom.dll
2013-05-24  오후 12:38         1,710,731 wxmsw28u_richtext_gcc_custom.dll
2013-05-24  오후 12:37           829,124 wxmsw28u_xrc_gcc_custom.dll
2013-05-24  오후 01:08         1,546,597 wxmsw28_adv_gcc_custom.dll
2013-05-24  오후 01:10           742,645 wxmsw28_aui_gcc_custom.dll
2013-05-24  오후 01:08        10,849,870 wxmsw28_core_gcc_custom.dll
2013-05-24  오후 01:09         1,082,693 wxmsw28_html_gcc_custom.dll
2013-05-24  오후 01:09           317,263 wxmsw28_media_gcc_custom.dll
2013-05-24  오후 01:11         1,692,723 wxmsw28_richtext_gcc_custom.dll
2013-05-24  오후 01:10           814,630 wxmsw28_xrc_gcc_custom.dll
              97개 파일         462,119,963 바이트
               6개 디렉터리  22,181,928,960 바이트 남음

================================================================================

파일 이름의 규칙을 통밥으로 때려 맞춰 보니...

wxmsw28_로 시작하는 것은 ansi, release 모듈
wxmsw28d_로 시작하는 것은 ansi, debug 모듈
wxmsw28u_로 시작하는 것은 unicode, release 모듈
wxmsw28ud_로 시작하는 것은 unicode, debug 모듈

인 것으로 보입니다..... ^^


원문 컴파일 참고 사이트입니다.
Compiling wxWidgets with MinGW

2013/05/23 16:58 2013/05/23 16:58

wxWidgets 사용하는 개발환경 구축하기(1/3)-MinGW 설치

Posted by 빵빵빵
2013/05/23 13:56 전산(컴퓨터)/wxWidgets



wxWidgets를 사용하는 개발환경 구축하려면 세가지 프로그램이 있어야 합니다.


wxWidgets 라이브러리(소스), 민지, 코드블럭


이 친구들은 다운로드하고 설치하고 컴파일하고 환경설정 하는 방법을 알아보도록 하겠습니다.


설명 기준은 윈도우, gcc 컴파일러 기준입니다.

(인터넷 사용료, 전기세, 컴터 값, 윈도우즈 값, 설치 인건비를 제외한 돈 안드는 방법... 긍까.... 꽁짜... ㅋ)

비슷한 것으로 cygwin이라는 것이 있는데... 이 녀석은 배포할때마다 시그윈 코어 dll을 같이 배포해야 합니다.

구찮기도 해서 민지로 합니다.


설치 순서는 민지 -> wxWidgets -> 코드블럭 순으로 하겠습니다.


먼저 컴파일러가 있어야 하고, wxWidgets 라이브러리 소스를 깔아서 컴파일 하고, 통합 개발환경에 라이브러리를 설정해야 하니깐 순서가 이렇게 되겠습니다.


우리 민지부터 시작합니다.

이녀석은 gcc 컴파일러와 리눅스의 쉘과 같은 환경으로 만들어주는 유틸들이 포함되어 있습니다.

민지 배포/개발 사이트 : http://www.mingw.org/

1. 다운로드 : http://sourceforge.net/projects/mingw/files/ 에서 Looking for the latest version? Download mingw-get-inst-20120426.exe (662.7 kB)  을 클릭하면 되지만... 날짜가 바뀌면 링크가 깨질듯하여 원 사이트링크도 같이 적습니다.


실행을 해서 설치를 시작해 봅시다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

1. 다른 프로그램을 종료하고 설치를 진행하라고 안내하는데... 저는 무시하고 Next 버튼을 눌러서 그냥 진행하였습니다.

2. 저는 관리자 계정으로 설치를 했기때문에 윈도우즈 전체 사용자의 시작화면과 바탕화면에 아이콘이 생긴다는 안내입니다. 혼자만 쓰실려면 관리자 계정 말고 사용자 계정으로 재 로그인 하셔서 설치하시면 됩니다.

3. 패키지 되어 있는 민지 모듈을 다운로드 할 것인지, 최종버전을 다운로드할 것인지 선택합니다. 저는 최종버전보다 안정성이 검증된것으로 보이는 pre-packaged 를 선택하였습니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

4. GPL 동의를 하였습니다. 안하면 설치가 안되죠~

5. 설치 대상 디렉토리입니다. C:\MinGW에다 설치하기로 기본값을 그대로 사용합니다.

6. 시작메뉴에 등록될 이름을 설정합니다. 전 기본값을 그대로 썻습니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

7. 컴포넌트 선택인데, 기본적으로 C만 선택되어 있습니다. 하드도 남아도는데 전체 다 설치하려고 체크박스를 다 선택했습니다. 8번 이미지까지네요.

8. 7번의 계속. 맨 마지막 두개는 꼭 선택하셔야 합니다. 리눅스 같은 환경을 만들어주고 개발 툴킷을 깔아줍니다.

9. 지금까지 선택한 것을 확인시켜 줍니다.

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

10. 민지 설치를 시작합니다.

11. 컴포넌트를 다운로드합니다

12. 설치 완료 화면입니다. 필요에 따라서 로그를 볼 수 있습니다. 다운로드 실패나 컴포넌트 설치 실패 로그를 확인하실 수 있습니다.


민지는 그냥 여기까지 하면 설치가 완료됩니다.

명령프롬프트 창(윈도우키+R -> cmd 엔터)에서 gcc를 치고 엔터를 쳐보세요.

===================================================================================
gcc: fatal error: no input files
compilation terminated.
===================================================================================

라고 나오면 gcc가 실행된겁니다. 소스 파일을 입력하지 않았으니 파일 없다고 나오는거지요.



만일(대부분 다음과 같이 나올겁니다.)

===================================================================================
'gcc'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.
===================================================================================


패스가 설정되지 않아서 그렇습니다.

C:\MinGW\bin> 로 디렉토리를 옮겨서 gcc를 치면 잘 실행 될겁니다.


패스 설정은  다음과 같이 합니다.

탐색기 -> 컴퓨터 에서 우측 마우스 클릭(이하 우클릭) -> 맨 아래 "속성" -> 좌측 맨 아래 "고급 시스템 설정" -> 탭에서 "고급" -> 맨 아래 에서 두번째 줄 "환경 변수(N)..." 버튼 클릭 -> 화면 중간 이하 부분 "시스템 변수(S)"의 항목중에 "PATH" 선택 -> 맨 아래에서 두번째 줄 가운데 "편집(I)..." 버튼 클릭 -> 변수 값(V) 의 맨 뒤에 ;C:\MinGW\bin;C:\MinGW\msys\1.0\bin 추가(세미콜론부터 bin까지) -> 창이 모두 닫힐때까지 "확인"버튼 여러번 클릭


CMD 창을 닫았다가 다시 연후 아무 디렉토리에서나 gcc 실행하면 정상적으로 실행 될 것입니다.
2013/05/23 13:56 2013/05/23 13:56