2011-12-12 39 views
1

我正在爲我的c/C++項目學習cedet。但是,我在製作項目時遇到困難。Cedet Help:配置「Make」項目

說我有一個文件 main.cpp中,看起來像這樣

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

,我有temp.h和temp.cpp

看起來像這樣

//temp.h 
some declarations 

//temp.cpp 
some definitions 

然後在emacs + cedet中,我做了ede-new,然後使用ede-new-target添加一個目標main並添加main.cp主要。

然後我寫temp.htemp.cpp並添加temp.cpp到目標溫度。

我選擇的所有目標的程序生成此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") 
    ) 
    ) 
) 

現在,當我使用義德-PROJ-再生生成makefile文件,它創建生成main.o和臨時Makefile文件。

但是make會失敗,因爲生成的Makefile不能識別main.cpp對temp.cpp的依賴。我如何告訴cedet EDE來識別此依賴關係?我在這裏做什麼錯了?

其次,我如何告訴它我不想main.o,因爲這是最終的目標程序/可執行文件而不是目標文件。

回答

0

對於您的示例,創建的Makefile應該同時創建main.omain。您創建的目標名稱應該是程序的名稱,因此如果將名爲「main」的目標更改爲「Pickle」,它將創建一個main.o和一個Pickle程序。

當您編輯temp.cpp時,如果您選擇重命名目標,則應將其添加到main或Pickle中。將程序的所有源文件放入單個目標中,除非您選擇創建一個庫,在這種情況下,請將temp添加到庫類型目標中。

要「解決問題」,可以使用customize-project命令通過Emacs本身的簡單命令訪問所有其他通常不可用的選項。這將允許您添加庫的依賴關係,將您的頭添加爲aux src以及其他有用的東西。只需閱讀與不同選項關聯的文檔字符串即可。

EDE的快速入門可能是found here

+0

由於最近的EDE問題,我創建了EDE手冊的快速入門部分。你可以在這裏看到內置的機器人版本:http://www.randomsample.de/cedetdocs/ede/ede/Quick-Start.html – Eric