Cedet帮助:配置“制作”项目

时间:2011-12-12 19:27:20

标签: emacs project-management cedet

我正在学习c / c ++项目的cedet。但是,我在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.cpp添加到main。

然后我写 temp.h temp.cpp 并将 temp.cpp 添加到目标temp。

我选择所有目标作为生成此 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")
    )
   )
  )

现在,当我使用ede-proj-regenerate生成makefile时,它会创建一个生成main.o和temp.o的Makefile

make然后失败,因为生成的Makefile没有识别main.cpp对temp.cpp的依赖性。我怎样才能告诉cedet EDE 来识别这种依赖?我在这里做的有什么问题?

其次,我如何告诉它我不想要main.o,因为这是最终目标程序/可执行文件,而不是目标文件。

1 个答案:

答案 0 :(得分:0)

对于您的示例,创建的Makefile应该同时创建main.omain。您创建的目标的名称应该是您的程序的名称,因此如果您将名为“main”的目标更改为“Pickle”,它将创建一个main.o和一个Pickle程序。

编辑temp.cpp时,如果选择重命名目标,则应将其添加到main或Pickle。将程序的所有源文件放入单个目标中,除非您选择创建库,在这种情况下,将temp添加到库类型目标。

要“修复问题”,您可以使用customize-project命令访问Emacs中通过简单命令通常无法获得的所有其他选项。这将允许您添加库的依赖项,添加标题作为辅助src,以及其他有用的东西。只需阅读与不同选项相关联的文档字符串。

EDE的快速入门可以是found here