1

我正在开发一个使用 Eclipse 为多个不同平台构建嵌入式应用程序的项目。现在我已经将它设置为使用不同的构建配置来确定使用哪个编译器来构建,但是我无法让索引正常工作。

问题的核心是我有一些特定于平台的文件,根本无法在其他任何地方编译(例如,为 ARM 设置硬件寄存器在 PowerPC 上不起作用)。构建很容易,因为我使用的是自定义 makefile,因此我可以排除来自不同构建的源。然而,Eclipse 索引器并不知道这一点,因此它会尝试同时索引这两个文件,这会导致问题,因为不同的编译器定义了不同的默认包含目录和宏。我已经想出了如何更改发现选项发现一个编译器或另一个,但我不能让它同时找到两个(除非我手动添加每个包含目录和#define,但如果可能的话我想避免这种情况)。

有没有办法自动发现同一项目中两个不同编译器的包含路径和#defines?或者,是否可以告诉 Eclipse 不要尝试解析构建中未使用的文件?

4

1 回答 1

0

我想出了怎么做。在 C/C++ 常规 > 代码分析部分下,您可以选择要排除的某些文件/文件夹。我关闭了关于未解析符号、函数和类型的错误,现在它工作正常。

于 2012-05-24T18:07:27.363 回答