6

看完之后:

我了解到,在使用现有的 make 文件和源代码创建项目文件夹时,我可以通过以下任一方式对文件进行语义索引:

  1. 定义一个简单的 EDE 项目:

    (ede-cpp-root-project ... :system-include-path '( "~/exp/include/boost_1_37" )

  2. 或者通过直接指定语义的包含路径

    (semantic-add-system-include "~/exp/include/boost_1_37" 'c++-mode)

但这仍然需要我手动输入路径。有没有办法从现有的 make 文件include中自动提取语义路径?

背景: 一些 IDE 具有从现有 make 文件中自动发现 gcc 路径功能。-I例如,在 Eclipse 中,您可以在具有现有 make 文件和源代码的路径上创建项目,Eclipse 会在构建项目时推断其“智能感知”的包含路径(我假设 Eclipse 将 GNU make 的输出解析为做这个)。我想在 Emacs 中做同样的事情。

4

1 回答 1

1

答案是“是”:有一种方法可以发现这个包含路径。AFAIK 它的代码还没有写出来(我可能在这个上弄错了)。您需要做的就是运行make -n并在输出中查找“-I”。当然,魔鬼在细节中,但应该可以相当容易地编写概念证明。

于 2012-10-12T00:13:24.293 回答