2011-12-12 3 views
1

내 c/C++ 프로젝트에 대한 cedet을 배우고 있습니다. 그러나 Make 프로젝트에서 어려움을 겪고 있습니다. Cedet Help : "Make"프로젝트 구성하기

내가이

//main.cpp 
#include "temp.h" 
blah... <c++ code> 

과 같은 파일 MAIN.CPP을하고 난 다음이

//temp.h 
some declarations 

//temp.cpp 
some definitions 

처럼 temp.h 및 temp.cpp을

말해봐 emacs + cedet에서 나는 ede-new을 수행 한 다음 대상을 추가합니다 을 사용하여 ede-new-target을 사용하고 main.cp를 추가하십시오 p에서 main으로.

은 그 때 나는 temp.htemp.cpp를 작성하고 임시을 대상으로 temp.cpp를 추가합니다. 내가 EDE-PROJ-중생을 사용하여 메이크 파일을 생성 할 때

가 나는 main.o를하고 온도를 생성하는 Makefile을 생성, 이제 프로그램 작성이 Project.ede 파일

;; Object Test 
;; EDE project file. 
(ede-proj-project "Test" 
    :name "Test" 
    :file "Project.ede" 
    :targets (list 
    (ede-proj-target-makefile-program "main" 
    :name "main" 
    :path "" 
    :source '("main.cpp") 
    ) 
    (ede-proj-target-makefile-program "temp" 
    :name "temp" 
    :path "" 
    :source '("temp.cpp") 
    ) 
    ) 
) 

에게로 모든 대상을 선택합니다. o

생성 된 Makefile이 temp.cpp에 대한 main.cpp의 종속성을 식별하지 못하기 때문에 make가 실패합니다. 이 종속물을 확인하기 위해 어떻게 대들보 EDE을 말할 수 있습니까? 내가 여기서하고있는 일이 무엇이 잘못 되었습니까?

둘째로 main.o가 최종 대상 프로그램/실행 파일이고 개체 파일이 아니기 때문에 main.o를 원하지 않는다고 어떻게 말할 수 있습니까?

답변

0

예를 들어, 생성 된 Makefilemain.omain을 모두 생성해야합니다. 작성한 대상의 이름은 프로그램의 이름이어야합니다. 따라서 "main"이라는 대상을 "Pickle"로 변경하면 main.o 및 Pickle 프로그램이 작성됩니다.

temp.cpp를 편집 할 때 대상을 이름 바꾸기로 선택하면 기본 또는 Pickle에 추가해야합니다. 라이브러리를 만들지 않는 한 프로그램의 모든 소스 파일을 단일 대상에 넣습니다.이 경우 라이브러리 유형 대상에 temp를 대신 추가하십시오.

"Fix things things up"을 사용하면 customize-project 명령을 사용하여 Emacs에서 제공하는 간단한 명령을 통해 사용할 수없는 다른 모든 옵션에 액세스 할 수 있습니다. 그러면 라이브러리에 의존성을 추가하고, 헤더를 aux src로 추가하고, 다른 유용한 것들을 추가 할 수 있습니다. 다른 옵션과 관련된 문서 문자열을 읽는 것만으로

EDE의 빠른 시작은 found here 일 수 있습니다.

+0

최근 EDE 관련 질문으로 인해 EDE 매뉴얼의 빠른 시작 섹션을 만들었습니다. 내장 된 봇 버전은 다음에서 볼 수 있습니다. http://www.randomsample.de/cedetdocs/ede/ede/Quick-Start.html – Eric