2011-12-12 41 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