Eclipse CDT索引器无法解析ae_f32类型

时间:2017-01-17 08:18:36

标签: c++ eclipse signal-processing eclipse-cdt

在尝试将浮点C代码移植到定点代码时,我遇到了Eclipse CDT中的一个问题 - 索引器无法识别我用来替换标准C f32的{​​{1}}类型}。代码编译和构建正常(使用MinGW GCC编译器)。它是C和C ++代码的混合体。

在Eclipse中看到数百个警告很烦人:float。这是在第三方DSP库代码中定义类型的方式:

Type f32 could not be resolved

为什么不会识别#define B_(X) b_##X ... #define f32 B_(f32) ... /* type declarations */ #define DECLARE_TYPE(s) \ namespace s##_space { \ class s##_; \ } \ typedef s##_space::s##_ s; ... DECLARE_TYPE(f32); ... namespace f32_space { //etc... 类型?

1 个答案:

答案 0 :(得分:0)

解决了它。

问题是.c文件中C和C ++的混合。我有.c扩展名的源代码,其中包含ifdefed C ++代码(#if defined(__cplusplus)等),并且编译器也设置为C ++。然而,Indexer将这些文件解析为C.当我生成索引器日志文件(Project \ C C ++索引\创建解析器日志文件)时,我注意到以下内容:Language: GNU C

然后我添加了语言映射:

Settings\C C++ General\Language Mappings

  • C Header file映射到C++
  • C Source file映射到C++

一旦我改变了它,它就有效了。