Showing posts with label CDT. Show all posts
Showing posts with label CDT. Show all posts

2016-02-02

Eclipse CDT로 Linux Kernel 개발 하기. -커널 헤더 추가-

Eclipse CDT로 Linux Kernel 개발 하기.

 -커널 헤더 추가-



  1. 먼저 이클립스 CDT 를 eclipse 사이트에서 다운로드 받은후 압축을 푼다.
  2. 간단한 C 프로젝트를 생성한다.
  3. C 프로젝트의 프로퍼티에서 "Paths and Symbols" 메뉴를 찾아,
    미리 다운받아 놓은 리눅스 커널 소스의 헤더 파일 위치를 지정한다.
     find / -name sched.h 명령으로 위치를 찾을수 있다.
  4. 위 1~3 단계를 완료하면 CDT 개발 화면에 추가한 커널 헤더파일의 목록이 제시되는것을 볼수 있다.







2016-01-12

이클립스 CDT 설치하기

이클립스 CDT 설치하기


기존에, 기본 이클립스를 사용하고 있었다면, C/C++을 개발하기 위한 플러그인들이 설치 되어 있지 않을 것이다.


C/C++을 개발하기 위한툴들 , 이클립스에서는 플러그인들을 CDT(C/C++ Development Tooling) 이라고 한다.

또한, 이 CDT를 기본 이클립스에 repository의 플러그인들을 추가 함으로서 쉽게 구성 할수 있다.

1. 먼저, 이클립스 실행후 
  Help  >>  Install New Software를 선택한다.

2. 다음과 같은 화면이 나오면, 해당 이클립스 버전에 맞는 저장소를 추가 한다.
이클립스는 항상 자기 자신과 같은 버전의 플러그인 저장소를 가지고 있다.
(여기에서는 mars-~ 로 시작하는 저장소)



3.  이클립스에 저장소를 입력후 C/C++ 검색하면 CDT 플러그인들이 나타난다 이를 추가 하고 완료 한다.
일반적으로 "C/C++ Development Tools", "C/C++ Development Tools SDK" 를 선택하면된다.
이외에도 다른 컴파일러등과의 연계를 위해 Autools를 선택해도 되지만 핵심 플러그인은 아니다.

4. 이클립스 재기동후 새로운 프로젝트로서 C/C++ 프로젝트가 생성되면  CDT환경 구성 완료이다.

2015-07-22

Eclipse CDT Autotools 설정

Eclipse CDT Autotools 설정






1. Autotools?

요즘에는 그렇지도 않고 rpm, yast, apt등 훌륭한 배포 도구 들이 많이 존재하지만 ,
정말 옛날에는 Linux에서 다운받은  Open source 프로젝트나, 작성한 gcc 프로그램을 compile하려면 make file이라는 것을 만들어야 했다. 그리고 이게 꽤 어려웠던 기억이 있다.
물론 지금은 전혀 기억이 안남.

다시 프로그램에 손을 대려다보니 Eclipse에 익숙해져서 도저히 메모장 코딩은 못하겠어서 찾으니 eclipse환경에 CDT 플러그인 에 autotools 로 compiler 및 환경 연결을 시켜주면 지가 알아서 make file 들도 만들고 해서 하나의 build System을 완성 시켜준다.

그리고 Source Package를 Build할 System이 Build에 필요한 Library나 Tool을 가지고 있는 지를 Check하여 없을 경우에는 미리 경고를 표시할 수 있습니다. 또는 Source Code와 연계하여서 OS에 따라 제공하지 않는 Method를 따로 구현해서 제공할 수도 있습니다.

이 외에도 Autotools를 사용하면 여러가지 이득을 볼 수 있습니다. 물론 Autotools를 사용하여 Source Package에 Build System을 구축해 놓으면 다른 사람들에게 전문적인 Project인 것처럼 보이게 하는 효과도 있습니

2. 구성

Autotools는 Automake, Autoconf, Libtool 등의 Package로 구성되어 있으며 각 Package는 다음과 같은 기능을 합니다.
  • Automake : Source Code를 Build하기 위해 사용되는 make를 위해서 여러 OS에 Porting할 수 있는 Makefile을 자동으로 생성합니다. 생성을 위해서는 Makefile.am을 작성해야 합니다.
  • Autoconf : 각 OS의 환경을 Check하고 Build에 필요한 환경 File을 생성해 주는 configure Script를 자동으로 생성합니다. 생성을 위해서는 configure.ac를 작성해야 합니다.
  • Libtool : Source Code의 최종 결과물이 실행 File이 아닌 Shared Library나 Static Library를 만드는데 사용하는 Tool입니다. Automake와 Autoconf와 같이 사용될 경우, configure.ac와 Makefile.am을 통해서 간접적으로 사용됩니다.

< 그림 1>
Source Code에 Autotools로 Build System을 구축하는 방법은 위의 그림과 같은 순서로 이루어 집니다. 약간 복잡해 보이지만 다음과 같이 설명할 수 있습니다.


  1. Makefile.am : automake를 실행하기 위해서 Makefile.am을 만듭니다.
  2. autoscan : Source code가 있는 Directory에서 autoscan을 실행하여 configure.ac를 자동으로 생성합니다.
  3. aclocal : configure.ac에 지정한 Macro에 대한 정보를 가지고 m4 macro를 생성합니다.
  4. autoheader : configure.ac에 지정한 정보를 가지고 config.h.in을 생성합니다. 이것은 나중에 config.h를 만드는 기초자료로 사용되며, Source code에서 config.h를 include하여 해당 Symbol의 상태를 이용하여 System dependent한 구현들을 상황에 맞게 처리할 수 있게 됩니다.
  5. automake : Makefile.am과 configure.ac의 정보를 가지고 Makefile.in을 생성합니다.
  6. autoconf : aclocal.m4와 configure.ac를 가지고 configure Script를 자동으로 생성합니다.
  7. configure : System을 Check하고 Build를 하기 위한 정보를 수집하여 저장하고 make를 위한 Makefile을 생성합니다.
  8. make : configure를 통해 생성된 Makefile을 가지고 Buld를 수행합니다.

3. 설치

구성환경: Ubuntu Desktop 12.x  + Eclipse juno (4.2)

1) Eclipse 설치


2) Eclipse CDT Plugin 설치

eclipse -> help ->  Install New Software 를 통해 설치

  • Autotools support for CDT (Incubation)
  • C/C++ Development Tools
  • C/C++ Library API Documentation Hover Help (Incubation)

3) Autotools 설치


  # sudo apt-get install build-essential autoconf automake libtool









reference