使用外部makefile更正语法签入

时间:2012-10-03 07:03:34

标签: c eclipse makefile

我制作了一个Makefile项目(New - > C Project - > Makefile项目)。而且它正确编译。

但是语法检查程序无法正常工作,因为Eclipse没有从makefile导入一些重要的选项。 -I(标题文件夹)例如。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Eclipse使用makefile生成的构建输出来解析编译标志,包含路径,预定义的宏等。它期望你的构建系统回应它执行的每个命令。

也就是说,如果make的输出如下所示,它将工作:

[CC] foo.o
[CC] bar.o
[LD] baz

确保它打印原始命令,例如:

gcc -Ipath/to/include -DFOO=1 -O2 ... -o foo.o -c foo.c
gcc -Ipath/to/include ... -o bar.o -c bar.c
ld foo.o bar.o -o baz

某些构建工具提供了启用详细模式的选项(如make V=1)。但是,手写的makefile通常没问题,因为默认情况下Make回显执行的命令。

在这种情况下,Eclipse将能够识别构建选项(如path/to/includeFOO=1)并使用它们来设置C / C ++索引器。

相关项目设置

配置项目:

  • C / C ++ Build中 - >发现选项检查以下条目:
    • 自动发现路径和符号
    • 发现配置文件:每个文件扫描仪信息配置文件的GCC
    • 启用构建输出扫描程序信息发现

之后,您需要从Eclipse内部执行全新构建(清理项目,然后构建项目),以便它将看到完整的构建日志。

此功能相当脆弱,有时会被破坏...通常使用 Project - >来刷新索引是有帮助的。指数 - >重建