我正在尝试设置一个iOS项目,以编译一个名为Eigen的线性代数数学c ++库。
我开始按照以下提到的问题的说明进行操作:
How to compile Eigen in iPhone
但仍有一些我无法弄清楚的事情。
我刚创建了一个单一应用程序'',并希望在名为MathLibary的新Objective C类中使用c ++文件。因为有些人说如果我将类MathLibary.hh和MathLibary.mm命名为可能会混淆Objective C和C ++。 该课程看起来像
#import "MathLibary.hh"
#define EIGEN_DONT_VECTORIZE
#import "SVD.h"
@implementation MathLibary
@end
当我尝试运行App时,构建失败,编译器会发出一些错误,例如: 在SVD.h文件的第47行,即:
typedef typename NumTraits<typename MatrixType::Scalar>::Real RealScalar;
在“类型名称”
之后,错误是预期的限定名称对我而言,听起来编译器尝试将SVD.h编译为目标c文件但是c ++。
我希望有人能够帮助我,非常感谢。
答案 0 :(得分:3)
如果你想混合使用ObjC和C ++,你是否确保将文件重命名为“.mm”后缀? :)