2

我正在尝试在 Objective-C++ XCode 项目(适用于 Mac OSX)中编译 Eigen 3 库,它会输出 200 多个错误,就像是链接器错误一样。我在下面放了一张图片来显示第一个错误输出。

我的项目使用的是 Objective-C 和 C++(实际上是子弹物理实现)所以我

  • 使用 .mm 扩展名重命名我的所有文件,
  • 检查项目设置中的“编译为Objective-C++”,
  • 试图将“特殊”特征头(不带扩展名)的类型更改为不同的类型,

但没有任何效果...

我的#import程序文件运行良好,因为我可以看到 XCode 识别出我的

Matrix4f eigenViewMatrix = Map<Matrix4f>(viewMatrix, 4, 4);

我想有一个标志要添加,但我找不到什么和在哪里。顺便说一句,我使用的是 LLVM GCC 4.2 编译器。

我将非常感激能得到一些帮助。谢谢你。

在此处输入图像描述


编辑

我在项目构建设置中启用了 OpenMP 和 SSE,就像在这篇文章中一样:http: //forum.kde.org/viewtopic.php?f=74 &t=98401

我找不到“自动矢量化”。

如果我包括

#include <iostream>
#include <Core>
#include <Dense>

在实现文件 (.mm) 中,与包含在全局头文件中的错误相比,我的错误更少。这些错误现在只涉及 Block.h 和 Memory.h。

4

1 回答 1

2

好吧,经过经验测试,我终于发现 Eigen 标头调用必须所有内容之前。

在我的前缀标题(.pch)中,我有一些电话,所以我最终改变了它:

//
// Prefix header for all source files of the 'h[Oz] Bullet' target in the 'h[Oz] Bullet' project
//

#ifdef __OBJC__
#endif

#include <iostream>
#include <Core>
#include <Dense>

#import <Quartz/Quartz.h>
#import <OpenGL/CGLMacro.h>
#import <OpenGL/gluMacro.h>

希望它会帮助某人。

于 2013-09-05T15:29:19.683 回答