【问题标题】:Emacs CEDET EDE non-trivial project setupsEmacs CEDET EDE 非平凡的项目设置
【发布时间】:2012-02-07 12:00:49
【问题描述】:

试图通过使用 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/sources。

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

如果有人能指出一些更复杂的问题,我将不胜感激 Project.ede 文件用于我正在尝试做的事情。你可以猜猜看 我有更多包含类代码文件的子目录,其中一些 具有使用该代码的独立程序;我也有更多的测试 测试/下的代码。任何示例文件/命令工作流程都是 赞赏。

【问题讨论】:

    标签: emacs cedet


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 可悲的是,我预计会是这样。感谢您的解释;虽然我很不情愿,但我会接受这个作为答案。我想看看将来在 EDE 中实现的顶级结构类型 - 节省我编写 CMakeLists 或 automake 文件等的时间。
    • 由于最近涌入的类似 EDE 项目问题,我在手册中创建了一个快速入门部分,该部分描述了一个包含目录和共享库的基本项目。自动构建的版本在这里:randomsample.de/cedetdocs/ede/ede/Quick-Start.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多