我正在为我的c/c++项目学习cedet。然而,我在做项目时遇到了困难。
假设我有一个像这样的文件main.cpp
//main.cpp
#include "temp.h"
blah... <c++ code>我有tem.h和temp.cpp
看上去像这样
//temp.h
some declarations
//temp.cpp
some definitions然后在emacs+cedet中执行ede-new,然后使用ede-new-target添加目标main,并将main.cpp添加到main。
然后编写tem.h和temp.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")
)
)
)现在,当我使用ede creates生成makefile时,它会创建一个生成main.o和tem.o的Makefile。
但是,由于生成的Makefile不标识main.cpp对temp.cpp的依赖,所以make失败。我如何告诉cedet EDE识别该依赖项?我在这里做什么有什么不对?
其次,我如何告诉它我不想要main.o,因为这是最终的目标程序/可执行文件,而不是对象文件。
发布于 2012-01-18 02:59:48
对于您的示例,创建的Makefile应该同时创建main.o和main。您创建的目标的名称应该是您的程序的名称,所以如果您将名为"main“的目标更改为" Pickle ",它将创建一个main.o和一个Pickle程序。
编辑temp.cpp时,应该将其添加到main,或者如果选择重命名目标,则添加Pickle。将程序的所有源文件放入单个目标,除非您选择创建一个库,在这种情况下,可以将temp添加到库类型的目标中。
要“解决问题”,您可以使用customize-project命令访问所有其他选项,这些选项通常不是通过Emacs本身的简单命令提供的。这将使您可以添加库的依赖项,将标题添加为aux src,以及其他有用的东西。只需读取与不同选项关联的文档字符串即可。
电子数据交换的一个快速开始可以是在这里发现的。
https://stackoverflow.com/questions/8479688
复制相似问题