'MinGW'에 해당되는 글 2건

  1. 2007.11.01 [펌]MinGw, wxWidget, Code:Blocks를 이용한 C/C++ IDE 환경 구축
  2. 2006.12.15 mingw + eclipse로 windows에서 개발하기

[펌]MinGw, wxWidget, Code:Blocks를 이용한 C/C++ IDE 환경 구축

MinGW, wxWidget, Code:Blocks를 이용한 C/C++ IDE 환경 구축 소프트웨어

2006/05/19 13:49

http://blog.naver.com/sbshin80/60024488345

첨부파일CodeBlocks_Configuration-sbshin80.pdf

MinGW, wxWidget, Code:Blocks를 이용한 C/C++ IDE 환경 구축

지은날 : 2006년 5월 16일
지은이 : 이민우

필자는 십여년간 VC++를 이용하여 윈도우 응용프로그램을 개발해 왔다. 그러나 리눅스에 관심을 갖게 되면서 오픈 소프 프로젝트들에도 관심을 갖게 되었고, 사회 공용 자원들에 대한 배타적인 소프트웨어들에 대한 대안을 찾는게 취미가 되었다.

리눅스에서는 이런 오픈 소스 프로젝트들이 많이 활성화 되었지만, 윈도우에서는 여전히 배타적 라이센스를 갖는 상용 프로그램들이 널리 사용되는 것에 대해서 안타까운 생각을 갖고 있으며, 특히 윈도우 응용 프로그램을 개발하기 위해선 Visual Studio에 전적으로 의존할 수 밖에 없는 상황을 개척해 보고자, 여러 가지 방법을 찾던 중, Eclipse + CDT + MinGW + wxWidget을 이용한 방법을 시도해 보았으나, Eclipse가 자바 기반으로 동작되다 보니 유용하고 뛰어난 기능이 많음에도 불구하고, 너무나 많은 메모리를 차지하고 시스템의 전반적인 성능을 매우 떨어뜨리는 상황을 극복할 뚜렸한 대안이 없어, 새로운 방법을 찾게 되었다. 그 유력한 대안이 바로 이 글에서 다루고자 하는 것이다.

이 방법은 윈도우 뿐만 아니라 리눅스에서도 적용이 가능하나, 필자가 시도해 보지는 않았다. 가까운 시일 내에 리눅스에서도 시도해 볼 작정이며, 설정상의 차이점 등을 시간이 허락하는 대로 문서에 반영할 예정이다.

IDE 구축에 필요한 패키지들

♦ MinGW 컴파일러 : 윈도우용 컴파일러(gcc, make, binutils)
♦ wxWidget : GUI 라이브러리
♦ Code::Blocks : 통합 개발 환경

설치 전 요구 사항
먼저 IDE를 설치할 기본 디렉토리를 만든다. 필자의 경우, C:\IDE에 만들었다. 이 디렉토리는 문서 전체에 걸쳐 로 대체되어 표시된다.

1. MinGW 설치

Code::Blocks 는 MinGW를 포함한 배포판과 순수 Code::Blocks 배포판을 제공한다. 전자의 경우, MinGW를 따로 설치할 필요가 없으나, 필자는 패키지별 독립성을 훼손하지 않기 위하여 각 패키지별로 별도로 설치하였다.

♦ MinGW 내려받기 사이트에서 최신의 MinGW 파일을 내려받아서 밑에 설치한다.
♦ 내려받기 주소는 http://prdownloads.sf.net/mingw/MinGW-5.0.2.exe?download 이다.
- 여러가지 파일들이 있으나, MinGW-5.0.2.exe 에 우리가 필요한 대부분의 파일들이 들어있다.
♦ 내려받은 MinGW-5.0.2.exe 프로그램을 저장할 임의의 폴더를 하나 만든 후, 그 곳에 이 파일을 저장한다.
♦ 프로그램을 실행하면, 압축되어 포함된 각종 패키지들이 압축 해제된다.
- “MinGW-5.0.2.exe”를 실행하고, 설치 옵션에서 "Custom"을 선택하고,
- "MinGW base tools", "g++ compiler", "MinGW Make" 구성 요소를 선택한다.
- 설치 디렉토리에 \MinGW를 선택한 다음, 나머지는 설치 과정에 따른다.

이전 버전의 MinGW에서는 gdb가 포함되어 있었으나, MinGW-5.0.2에는 gdb가 포함되어 있지 않다. 따라서 gdb를 내려받아 MinGW가 설치된 디렉토리에 설치하여야 한다.
♦ 내려받기 주소는 http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download 이다.
- 설치 화면에서 설치 디렉토리에 \MinGW 를 선택하고, 나머지는 설치 과정에 따른다.

♦ 성공적으로 설치가 끝나면 PATH 환경 변수에 다음 디렉토리를 등록해 줘야 한다.
- "제어판" -> "시스템" -> "고급" -> "환경 변수" -> "시스템 변수" 에서 PATH에 추가 한다.
☞ \MinGW\bin;

2. wxWidgets 설치

http://www.wxwidgets.org 사이트에서 wxWidgets을 내려받는다.
♦ 내려받을 프로그램은 http://prdownloads.sourceforge.net/wxwindows/wxMSW-2.6.3-Setup-1.exe 이다.
♦ 위 프로그램을 실행하면 설치 화면이 나오는데, 설치 디렉토리만 \wxWidgets-2.6.3 로 설정해주고 나머지는 설치 과정에 따른다.
♦ wxWidgets 패키지가 성공적으로 설치되었으면, 사용자 환경 변수에 WXWIN 이 등록되어 있을 것이다. 이것을 시스템 변수로 옮긴다(굳이 안해도 상관없으나 필자의 경우, 전역적 환경을 구축하고자 변경하였다).

필자가 이 패키지를 설치하고, 조금 헤맸는데, 그 이유는 이 패키지는 소스 형태로 배포되고, 바이너리 라이브러리들을 제공하지 않는 것을 몰랐기 때문이다. 따라서, 패키지 설치가 끝나면 "1. MinGW 설치" 에서 설치한 컴파일러를 이용하여 라이브러리들을 컴파일해야 한다.

♦ 먼저 도스창을 하나 연다..
♦ make 버전을 다음 명령으로 확인한다.
- Prompt> mingw32-make -v # GNU make 3.80인지 확인한다.

2.1 wxWidgets 빌드

♦ 이제 wxWidgets를 컴파일하기 위하여 wxWidgets 디렉토리로 이동한다.
- Prompt> cd C:
- Prompt> cd %WXWIN%\build\msw
♦ 먼저 소스에 대한 크린업을 수행한다(아래 명령들은 모두 한 줄로 이어서 입력하여야 한다).
- Prompt> mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
주:) 옵션이 유니코드에 릴리즈 빌드라는 점에 주목하라.
♦ 모든 것이 깨끗해졌으면 이제 컴파일을 시작한다.
- Prompt> mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release
주:) 여기 사용된 옵션들은 Code::Blocks에서 공식적으로 지원되는 옵션이며, 다른 옵션들을 원한다면 Code::Blocks를 재구성하여야 하고, 그러기 위하여 또다른 삽질이 필요하다.

이 과정은 꽤 시간이 걸린다. 이 시점에서 커피나 한잔 마시자. 나의 팬티엄-M 1.5 GHz 노트북에서 30분 정도 걸렸다.

3. Code::Blocks 설치

http://codeblocks.org 사이트에서 "Code::Blocks IDE, without compiler" 윈도우용 바이너리를 내려받는다.
♦ 내려받을 프로그램은 load... 이다.
- 이 바이너리 배포판은 기능상 문제가 있기 때문에 실제 사용하지는 않지만, 기본 설정 상태를 유지하기 위하여 설치한다.
♦ codeblocks-1.0rc2.exe를 실행하고, 옵션에서 모든 항목을 선택하되, SVN/CVS support for projects는 제외한다(아직 SVN/CVS 지원 기능에 버그가 있다).
♦ 설치 디렉토리를 \CodeBlocks 로 하고, 나머지는 설치 과정에 따른다.
♦ 최근의 Nightly Build 패키지를 내려 받는다.
- http://forums.codeblocks.org/index.php?board=20.0 로부터 최근의 빌드 패키지를 선택하고, Windows용 Nightly build 패키지를 내려 받는다. 필자가 내려 받은 패키지는 http://download.berlios.de/codeblocks/CB_20060515_rev2451_win32.7z 이다.
♦ 또한 Code::Blocks를 위한 wxWidget DLL을 내려 받는다.
- 내려받을 파일은 http://download.berlios.de/codeblocks/wxmsw26u_gcc_cb.7z 이다.
♦ 7z 파일은 7-zip 유틸리티로 압축 해제 할 수 있다. 내려받기 주소는 http://www.7-zip.org 이다.
♦ 내려받은 CB_20060515_rev2451_win32.7z 파일을 특정 디렉토리에 압축 풀고, 모든 파일을 \CodeBlocks\ 에 복사하여 기존 파일들을 덮어씌운다.
♦ 내려받은 wxmsw26u_gcc_cb.7z 파일을 특정 디렉토리에 압축 풀고, wxmsw26u_gcc_cb.dll 파일을 \CodeBlocks\ 에 복사한다.
♦ 기존의 \CodeBlocks\ 에 있는 wxmsw26_gcc_cb.dll 는 삭제한다.

4. Code::Blocks 설정

♦ CodeBlocks IDE를 실행한다.
♦ File -> New Project를 실행한다.
- wxWindgets application wizard를 선택한 후, "start wizard" 를 누른다.

- 프로젝트를 생성할 위치와 프로젝트 이름을 입력한다.

- wxWidgets의 위치를 기술한다.

- Global Variable Editor에 wx Variable에 대한 Base Directory를 입력한다.

- 마지막 옵션들을 디폴트로 놔두고 "Finish"를 누른다.

- 메뉴에서 "Build"를 해본다. 오류 없이 진행되면 wxTest.exe가 생성된다.

♦ 생성된 실행 프로그램은 실행하기 위하여 wxmsw26u_gcc_custom.dll 파일이 필요하다. 이 파일은 C:\IDE\wxWidgets-2.6.3\lib\gcc_dll 에 있으며, 이 디렉토리를 PATH 환경 변수에 추가하거나 c:\Windows\System32\ 에 복사한다.
- 프로그램을 실행해 본다. 화면에 나오면 성공이다.

♦ 프로그램이 콘솔창과 함께 뜰 경우, Project/targets options에서 target opntion을 GUI application으로 바꾸고, "Pause when execution ends"를 꺼준 후, 리빌드 한다.
주:) PATH 환경 변수를 변경할 경우, PATH 를 사용하는 프로그램을 재 실행해 주어야 변경된 환경 변수값을 읽을 수 있다.
♦ 이 글은 UNICODE를 사용하는 것을 전제로 작성하였기 때문에, 에디터 설정 역시 유니코드를 지원하도록 설정하여야 한다.

이상으로 MinGW, wxWidget, Code:Blocks를 이용한 C/C++ IDE 환경 구축에 관한 방법을 알아보았다.

필자는 우리나라의 데스크탑 환경이 마이크로소프트 일색인 특정 기업의 독점적 구조를 탈피하기 위해서, MS에 종속적인 개발 환경에서 탈피하여 특정 OS에 독립적인 프로그램들이 많이 나오기를 바란다. 그러기 위해서는 개발 환경이 우선 MS 종속을 탈피해야 한다고 생각한다. 이 글이 어느 정도 필자의 바램을 충족시켜 주기를 기대하면서 글을 마칩니다.

'develop' 카테고리의 다른 글

Windows에서 Dev-Cpp로 GTK+프로그래밍  (0) 2007.11.05
[wxWidget] Tutorial 1 - 071102  (0) 2007.11.02
readelf - 직접 ELF를 읽기 위한 툴  (0) 2007.08.08
c언어 가변 인자 va_list  (0) 2007.08.07
공개 프로젝트 모음  (0) 2007.07.05

mingw + eclipse로 windows에서 개발하기

Eclipse C/C++ 개발환경 갖추기(2002.10.1)

JLab 편집실 전지원(meeky)

Eclipse C/C++ 개발환경 갖추기

Eclipse의 본래 목적은 java뿐만 아니라 모든 언어의 통합개발을 할 수 있는 IDE를 만들자는 것이었습니다. 아직은 java개발환경 지원이 활발하지만 C/C++, Delphi, Pascal등 다양한 언어를 지원하는 IDE Tool이 개발 중에 있습니다.  java 개발환경을 Eclipse에서 JDT라고 하는 것 처럼, C/C++ 개발 환경인 CDT가 개발 중에 있습니다. 아직 1.0 version이 나오지 않았지만 개발버전을 사용할 수 있습니다.  Eclipse를 이용하여 C/C++을 개발할 수 있는 환경을 만들고, 예제인 Hello World 프로그램을 작성해 보도록 하겠습니다.

1.먼저 CDT를 다운 받습니다.
CDT는 http://www.eclipse.org/cdt/ 사이트에서 Download를 클릭하고 날짜가 가장 최신인 버전을 다운 받으면 됩니다.




2.압축을 plugins과 features가 나옵니다. 두 폴더를 복사를 하여 eclipse 폴더아래 복사를 합니다. 저는 d:\elipse 폴더에 복사를 합니다.





3.이클립스를 실행하고, toolbar의 새로만들기 버튼을 눌러보면 C, C++ 프로젝트가 생성할 수 있는 메뉴가 있음을 볼 수가 있습니다.




4.프로젝트를 생성을 합니다.






5.프로젝트를 생성하면 오른쪽에 C/C++프로젝트 라는 Navigator가 보입니다. 프로젝트 폴더를 선택하고 오른쪽 버튼을 눌러 New>file 을 선택합니다.




6.파일명에 hello.c라고 입력합니다. 아래나오는 화면과 같이 C/C++ Editor에 입력합니다.




7.다시 프로젝트 폴더를 선택하고 오른쪽 버튼을 눌러 New/file을 선택합니다.



8.파일명에 makefile이라고 입력하면 파일이 생성됩니다. 오른쪽 Editor화면에 아래 화면과 같이 입력합니다.



9.다시 프로젝트 폴더를 선택하고 Build를 눌러봐도 아무런 일이 일어나지 않습니다. 이것은 C/C++ Compiler가 설치되어 있지 않아서 입니다. Visual C++을 쓸수도 있지만 GNU Compiler를 사용해 봅니다.


10.Windonws GNU 개발사이트 주소는 http://www.mingw.org/ 입니다. 다운로드는 http://sourceforge.net/project/showfiles.php?group_id=2435&release_id=38019 에서 다운 받습니다. 분홍색으로 하이라이트되어 있는 곳에 MinGW-2.0.0-3.exe를 다운 받습니다.

설치를 간단하므로 생략하겠습니다. 설치는 MinGW-2.0.0-3.exe더블클릭하고 나오는 지시를 그래도 따르면 됩니다. c:\MinGW폴더에 설치가 되었을 것입니다. MinGW-2.0.0-3.exe를 다운 받은 화면 아래 make-3.79.1-20010722.tar.gz파일도 다운 받아 압축을 풉니다. 압축을 풀어 나온 파일을 c:\MinGW\bin아래에 복사를 합니다.

환경변수에 c:\MinGW\bin을 Path에 추가를 합니다.


11.이클립스를 종료하고 다시 실행합니다. HelloWorld폴더를 선택하고 마우스 오른쪽 버튼 클릭한 후 Build를 실행합니다.



12.Compile되는 화면이 보이고 화면 하단에 C-Build 메시지가 보입니다. 화면과 같은 메시지는 warning이니 무시하셔도 됩니다만 화면에 나오는 메시지대로 hello.c파일 맨 마지막 "}"다음에 엔터를 하면쳐서 Newline을 만들어주면 warning메시지가 사라질것입니다.





13.hello.exe를 더블클릭하여 실행시켜 주십시오.


command 창에 Hello World가 보입니다. 엔터를 치면 command창이 사라집니다.


정말 간단한 예제를 만들어 보았습니다. 아쉽게도 저는 C/C++은 잘 모릅니다. 부디 C/C++ 잘 아시는 분께서 앞으로 Eclipse에서 C/C++개발을 많이 하셔서 Eclipse-java게시판 Eclipse-C/C++ 게시판이 만들어지고 Eclipse 사용이 활발해졌으면 좋겠습니다.


www.jlab.net

이 글은 정보 공유를 위해 쓰여 졌으며 JLab 정보 공유 약관을 지켜주시는 모든 곳에서 자유롭게 공유 하 실 수 있습니다. 오탈 자나 건의는 이곳에 해주십시오

prev 1 next