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

在Emacs中自动提取用于索引源代码的gcc-I路径,gcc,emacs,autocomplete,makefile,cedet,Gcc,Emacs,Autocomplete,Makefile,Cedet,阅读后: 我了解到,在使用现有make文件和源代码创建项目文件夹时,我可以通过以下方式对文件进行索引: 定义一个简单的EDE项目,包括: (ede cpp根项目…:系统包含路径“(“~/exp/include/boost\u 1\u 37”) 或者通过直接使用指定包含语义的路径 (语义添加系统包括“~/exp/include/boost\u 1\u 37”c++模式) 但这仍然需要我手动键入路径。是否有任何方法可以自动从现有make文件中提取include语义路径 背景: 一些IDE具有

阅读后:

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

  • 定义一个简单的EDE项目,包括:

    (ede cpp根项目…:系统包含路径“(“~/exp/include/boost\u 1\u 37”)

  • 或者通过直接使用指定包含语义的路径

    (语义添加系统包括“~/exp/include/boost\u 1\u 37”c++模式)

  • 但这仍然需要我手动键入路径。是否有任何方法可以自动从现有make文件中提取
    include
    语义路径

    背景: 一些IDE具有从现有make文件中自动发现路径的功能。例如,在Eclipse中,您可以使用现有make文件和源代码在路径上创建项目,Eclipse在构建项目时会推断其“intellisense”的包含路径(我假设Eclipse解析GNU make的输出来完成这项工作)。我想在Emacs中也这样做。

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