【问题标题】:Eigen Use in ios projectios项目中的Eigen使用
【发布时间】:2013-01-16 20:08:38
【问题描述】:

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

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

我的所有文件都是.mm

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

请帮帮我。

附上 Xcode 的屏幕截图。

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

谢谢

【问题讨论】:

    标签: c++ ios objective-c vector eigen


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我希望你能写一个教程,你是如何让它工作的。我仍然看到类似的问题。
      【解决方案3】:

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

      1. 您未能包含正确的头文件。例如,DynamicConstants.h 中定义
      2. 您未能打开正确的命名空间。例如,Dynamic 是为命名空间 Eigen 定义的。

      【讨论】:

      • 但这是默认的特征头文件库。它不应该给出这些类型的错误。这是 Block.h 文件,甚至给出错误:块未声明。
      • 如果这是 Eigen 的标题(你应该提到过),我猜你显示的错误不是第一个,是吗?检查您的包含路径和 before 您包含 Eigen 的行。
      • 我正在我的项目中编写纯 c++ 代码。但是为iOS连接那个c++代码objective-c。 Xcode 基本编译器,我也设置了 Eigen 的路径。是使用 (.mm) 并包含 Eigen/Core 而不是 src 中的文件。但仍然错误..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 2012-01-22
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多