[Ubuntu] build-essential

OS/Linux 2014. 8. 17. 19:17

 Ubuntu 에서 C, C++ 등을 개발하려고 컴파일을 할 때 다음과 같은 에러 메시지가 나오는 경우가 있다.

  • stdio.h: No such file or directory

 이런 경우는 개발에 필요한 stdio.h 등의 기본 라이브러리가 설치가 안되어서 발생하는 문제로 다음 명령어로 build-essential 패키지를 설치하면 해결이 된다.

  • sudo apt-get install build-essential


  build-essential 패키지는 개발에 필요한 기본 라이브러리와 헤더파일등을 가지고 있으며 아래에 링크에 자세한 내용을 살펴 볼수 있다.


'OS > Linux' 카테고리의 다른 글

UNIX TOOLBOX  (2) 2015.08.26
[Ubuntu] libssl-dev  (0) 2014.08.17
[Ubuntu] Terminal 관련 단축키  (0) 2014.06.08
[Ubuntu] grep 으로 원하는 문자열이 들어있는 파일 검색  (0) 2013.04.23
[Ubuntu] 한글 입력 설정  (1) 2013.04.19
Posted by leechwin
,

 Windows 에서 명령 프롬프트를 통한 작업을 할때 윈도우즈 버튼을 누르고 실행에 cmd 를 실행하여 명령프롬프트를 실행하고 직접 원하는 디렉토리로 이동하여 작업하는 경우가 있다.

 이보다 편리한 방법이 있는데 윈도우즈 탐색기나 해당 파일에 대해서 Shift 키를 누르고 마우스 우측 버튼을 누르면 여기서 명령 창 열기 라는 메뉴가 나오는데 이버튼으로 실행하면 특정 폴더에서 명령프롬프트를 실행 할 수 있다.


- shift 를 누르지 않았을 경우와 눌렀을 경우 Context 메뉴 차이


- 원하는 폴더에서 여기서 명령 창 열기 버튼을 실행했을 경우

   - 윈도우 탐색기에서 leechwin 이란 폴더에 대해 여기서 명령 창 열기 버튼을 실행하면 명령프롬프트의 기본 경로가 해당 폴더로 부터 시작된다.



Posted by leechwin
,

 Eclipse Fragment 프로젝트는 기존에 존재하는 plugin 에 대한 패치나 번들처리등에 이용이 된다.


 하지만 기존에 존재하는 eclipse core framework 의 일부 jar 나 plugin 에 대해서 fragment 가 제대로 동작 하지 않는 경우가 있다.

 이에 대한 해결방법에 대해 알아보자.

 아래부터는 원본 jar 나 plugin 을 Host Plugin 이라 지칭하고, fragment plugin 을 Patch plugin 이라 지칭


  • Host Plugin Setting
    • plugin.xml 설정
      • Overview
        • version 이 중복되지 않도록 "_patch" 등의 이름으로 수정
      • Runtime > Classpath
        • patch.jar 라는 이름을 추가하고, patch.jar 가 "." 위로 오도록 순서수정
      • Build > Runtime Information
        • patch.jar 가 있다면 삭제하고 "." 만 나오게 수정
        • Folder 는 src/ 가 나오게 수정
      • MANIFEST.MF
        • Eclipse-ExtensibleAPI: true 를 기술
        • MANIFEST.MF 파일 예제
          • Bundle-Version: 1.3.1.v201401291437_patch
            ...skip...
            Eclipse-ExtensibleAPI: true
            Bundle-ClassPath: patch.jar, 

             . 

    • build.properties 파일 예제
      •  jars.compile.order = .

        bin.includes = .,\
                       META-INF/,\
                       plugin.properties,\
                       plugin.xml,\
                       default.properties,\
                       .options
        javacSource=1.5
        javacTarget=1.5
        source.. = src/
        output.. = bin/


  • Patch Plugin Setting
    • MANIFEST.MF 
      • Overview
        • Host Plug-in 선택 
      • Runtime > Classpath
        • patch.jar 라는 이름을 추가하고, patch.jar 가 "." 위로 오도록 순서수정
      • Build > Runtime Information
        • patch.jar 가 있다면 삭제하고 "." 만 나오게 수정
        • Folder 는 src/ 가 나오게 수정
      • MANIFEST.MF
        • Eclipse-PatchFragment: true 를 기술
        • MANIFEST.MF 파일 예제
          • Eclipse-PatchFragment: true

            Bundle-ClassPath: patch.jar,
             .

      • build.properties 파일 예제
        • bin.includes = META-INF/,\

          patch.jar

          jars.compile.order = patch.jar

          source.patch.jar = src/

  • Feature 프로젝트에 Patch Plugin 이 포함된 Feature Dependency 기술
    • a.plugin 을 패치한다면 해당 plugin 에 버전이 xxx_patch 등으로 바뀌었을것이다.
    • 이후 a.plugin 을 포함하고있는 abc.feature plugin 에 해당 내용을 수정해야되는데 수정하는 방법은 2가지가 있다.
      • abc.feature plugin 을 통째로 include 하는법
      • abc.feature pulgin 에 기술된 plugin 들을 전부 include 하는법
    • 위의 내용을 feature 프로젝트를 하나 생성하여 plugin.xml 에 Feature 혹은 Plugin 탭에서 기술한다.  
    • Eclipse Framework 환경에서 Dependecy 확인하는법 
      • ../eclipse/feature 폴더로 이동
      • 다음 명령어 수행
        • $ grep -r pluginName .



Posted by leechwin
,