自动提取gcc -I路径以在Emacs中索引源代码

Ame*_*ina 6 emacs gcc makefile autocomplete cedet

看完之后:

我了解到,在创建包含现有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)

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

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

Ste*_*fan 1

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