0

我正在尝试在我的 ios 项目中使用 Eigen 3,我添加了头文件,但它不允许我编译。它总是给出错误。

无法解决。我一直在寻找解决方案很多天。

我的所有文件都是 .mm

我想,我缺少任何编译器标志、链接或任何东西。

请帮我。

附上 Xcode 的屏幕截图。

如果有人可以帮助我,我将不胜感激。

谢谢在此处输入图像描述

4

3 回答 3

3

首先,确保您包含 Eigen/Core(或类似的),而不是直接包含 Eigen/src/ 中的 .h 文件。然后,我想问题是您正在混合 c++ 和目标 c 代码(.mm 文件)。这会使编译器感到困惑,因为 Eigen 需要非常好的 C++ 编译器支持。你不能在 ios 中使用纯 C++ 代码吗?

于 2013-02-02T09:01:34.057 回答
1

错误陈述非常清楚:您使用了编译器不知道的标识符。可能的原因:

  1. 您未能包含正确的头文件。例如,Dynamic定义在Constants.h
  2. 您未能打开正确的命名空间。例如,Dynamic为命名空间定义Eigen
于 2013-02-01T15:16:40.310 回答
0

我的代码工作正常,直到我添加了一个 opencv 头,然后这些弹出。

解决方案是将 eigen 和 eigen/unsupported 添加到 System Header Search Paths 和 User Header Search Paths,并将它们保留为非递归。

你肯定也想将你的 .cpp 文件标记为 Objective C++。

于 2020-04-09T05:31:25.980 回答