【发布时间】:2017-01-17 08:18:35
【问题描述】:
在尝试将浮点 C 代码移植到定点代码时,我在 Eclipse CDT 中遇到了一个问题 - 索引器无法识别我用来替换标准 C float 的 f32 类型。代码编译和构建良好(使用 MinGW GCC 编译器)。它是 C 和 C++ 代码的混合体。
在 Eclipse 中看到数百条警告很烦人:Type f32 could not be resolved。这是在第 3 方 DSP 库代码中定义类型的方式:
#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...
为什么不能识别f32 类型?
【问题讨论】:
-
这对我有用(或者至少是您在此处输入的近似版本)。你能编辑成minimal reproducible example吗? (具体来说,ae_f32 有效,但 ae_f32x2 无效,但后者在您的问题中没有声明。)
-
对不起,不能做强制示例...“为我工作”是什么意思? Eclipse 不报告
Type ae_f32 could not be resolved? ae_f32x2 不重要,只有 ae_f32 重要。 -
是的,如果我删减你的示例并将其粘贴到一个新的 C++ 项目中,它就可以工作
ae_f32。这是我在缩减时使用的:pastebin.com/KfmpEsbX -
谢谢乔纳。好吧,这只会让它更令人费解。
-
也许问题是包含文件的大小? .h 文件有 30.000 多行。
标签: c++ eclipse signal-processing eclipse-cdt