我制作了一个Makefile项目(New - > C Project - > Makefile项目)。而且它正确编译。
但是语法检查程序无法正常工作,因为Eclipse没有从makefile导入一些重要的选项。 -I(标题文件夹)例如。
如何解决这个问题?
答案 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/include
或FOO=1
)并使用它们来设置C / C ++索引器。
配置项目:
之后,您需要从Eclipse内部执行全新构建(清理项目,然后构建项目),以便它将看到完整的构建日志。
此功能相当脆弱,有时会被破坏...通常使用 Project - >来刷新索引是有帮助的。指数 - >重建