设置iOS项目以使用eigen

问题描述 投票:0回答:1

我正在尝试建立一个 iOS 项目来编译一个名为 Eigen 的 C++ 库,用于线性代数数学。

我开始按照以下提到的问题的说明进行操作:

如何在iPhone中编译Eigen

但是还有一些事情我想不通。

  1. 用户 Stafan 说要设置正确的编译器标志(-mfpu=neon -mfloat-abi=softfp)。我在哪里设置这些标志?我已经发现为单个文件设置标志,如http://meandmark.com/blog/2011/10/xcode-4-setting-compiler-flags-for-a-single-file/。但是对于哪些文件我需要设置此标志?特别是 Eigen 库中的 c++ 文件不会出现在这里。
  2. 用户 Blukee 表示,他在构建设置中使用了armv7优化的arch。在构建设置中,我在“架构”类别中看到一个绿色字段,上面写着“标准(armv7)”,这是对的吗?

我刚刚创建了一个 ,,singleViewApplication'' 并希望在名为 MathLibary 的新 Objective C 类中使用 C++ 文件。因为有些人说,如果我将类命名为 MathLibary.hh 和 MathLibary.mm,可能会混淆 Objective C 和 C++。 班级看起来像

#import "MathLibary.hh"
#define EIGEN_DONT_VECTORIZE
#import "SVD.h"
@implementation MathLibary

@end

当我尝试运行应用程序时,构建失败,编译器给出一些错误,例如: SVD.h文件第47行,即:

typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;

错误是“类型名称”后需要一个限定名称

对我来说,听起来编译器试图将 SVD.h 编译为目标 c 文件,但它是 c++。

  1. 如何更改编译器以编译用户界面的目标 c 文件和库中的 c++ 文件

我希望有人能够帮助我,非常感谢。

c++ objective-c eigen xcode4.3
1个回答
3
投票

如果您想混合使用 ObjC 和 C++,您是否确保将文件重命名为具有“.mm”后缀? :)

© www.soinside.com 2019 - 2024. All rights reserved.