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



读取后:

  • CEDET简介
  • CEDET-DE的功能介绍

我了解到,当用现有的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在构建项目时会推断出其"intellisense"的include路径(我认为Eclipse会解析GNU make的输出)。我想在Emacs中也这样做。

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

最新更新