我正在尝试建立一个 iOS 项目来编译一个名为 Eigen 的 C++ 库,用于线性代数数学。
我开始按照以下提到的问题的说明进行操作:
但是还有一些事情我想不通。
我刚刚创建了一个 ,,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++。
我希望有人能够帮助我,非常感谢。
如果您想混合使用 ObjC 和 C++,您是否确保将文件重命名为具有“.mm”后缀? :)