Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse自动检测多个编译器的包含和宏_Eclipse_Eclipse Cdt - Fatal编程技术网

Eclipse自动检测多个编译器的包含和宏

Eclipse自动检测多个编译器的包含和宏,eclipse,eclipse-cdt,Eclipse,Eclipse Cdt,我正在从事一个使用Eclipse为几个不同平台构建嵌入式应用程序的项目。现在我已经设置为使用不同的构建配置来确定使用哪个编译器来构建,但是我很难让索引正常工作 问题的核心是,我有一些特定于平台的文件,在其他任何地方都无法编译(例如,为ARM设置硬件寄存器在PowerPC上不起作用)。构建很简单,因为我使用的是自定义的makefile,所以我可以从不同的构建中排除源代码。但是,Eclipse索引器不知道这一点,因此它尝试同时为这两个文件编制索引,这会导致问题,因为不同的编译器定义了不同的默认包含目

我正在从事一个使用Eclipse为几个不同平台构建嵌入式应用程序的项目。现在我已经设置为使用不同的构建配置来确定使用哪个编译器来构建,但是我很难让索引正常工作

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


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

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