4

试图通过使用 EDE 为包含特定层次结构下的多个目标的项目目录生成 Makefile 来了解 EDE 的工作原理。我没有运气,信息页面似乎没有回答我的问题。

我的目录结构类似于:(星号 (*) 标记包含 main() 函数的文件)

research/
  flow/
    flow.cpp
    flow.hpp
    program.cpp *

  samples/
    sample1.yuv

  utils/
    yuvreader.cpp
    yuvreader.hpp

  tests/
    yuvreader_test.cpp *

我想创建一个或多个子项目的 EDE 项目;或者也许我只想要一个或多个目标......?

flow 的 program.cpp 需要 flow/ 和 utils/ 源,而 yuvreader_test 只需要 utils/ 源。

我在根目录和所有子目录中做了 ede-new。我也在根目录下做了ede-new-target,但是在子目录下添加源文件时,它不识别我创建的目标。

如果有人可以为我指出一些更复杂的 Project.ede 文件,我将不胜感激。你可以猜到我有更多包含类代码文件的子目录,其中一些有使用该代码的独立程序;我也有更多的测试代码在测试/。任何示例文件/命令工作流程将不胜感激。

4

1 回答 1

2

将生成 Makefile 或 Automakefiles 的 EDE 功能具有比 Make 或 Automake 更多的约束。例如,属于某个目标的文件必须与包含该目标的项目位于同一目录中。在您的示例中,您的根目录中可能没有项目。

要将多个源合并到一个程序中,一种简单的机制是让每个子目录创建一个存档 (.a) 或共享库 (.so),它们在您的程序中链接在一起。

如果这太受限制,您也可以编写自己的 automake 文件,EDE 会直接读取这些文件,因此您可以根据需要进行更复杂的构建过程。

CEDET 发行版使用 EDE 作为其构建过程,因此您可以将其视为一个复杂的示例。但它不会构建 C++ 文件,因此它可能没有您希望的那么有用。

于 2012-02-08T12:49:33.313 回答