2013-09-05 61 views
2

我想在Objective-C++ XCode項目(對於Mac OSX)中編譯特徵庫3,它輸出200多個錯誤,就像它是一個鏈接器錯誤。我在下面放置一張圖片來顯示第一個錯誤輸出。在Objective-C中編譯特徵的問題(不是iPhone)

我的項目是使用Objective-C和C++(一個子彈物理實際implem),所以我

  • 改名與.mm擴展我的所有文件,
  • 檢查 「編譯爲的Objective-C++」在項目設置,
  • 試圖改變「特殊」徵標頭的類型(不擴展),以不同的類型,

但是毫無效果......

#import在我的計劃文件運作良好,因爲我可以看到的XCode承認我

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

我想有一個標誌來補充,但我不能找到什麼,在哪裏。順便說一下,我正在使用LLVM GCC 4.2編譯器。

我將非常感謝您的幫助。謝謝。

enter image description here


編輯

我啓用了OpenMP和SSE項目在這篇文章中構建設置,如:http://forum.kde.org/viewtopic.php?f=74&t=98401

我無法找到 「自動矢量化」雖然。

如果我包括

#include <iostream> 
#include <Core> 
#include <Dense> 
在實現文件(.mm)我有較少的錯誤比如果它被包含在一個全局頭文件

。這些錯誤現在只涉及Block.h和Memory.h。

+0

你給出了一條運行良好的線路,你能架設一條運行不正常的線路嗎?您可能需要包含來自Eigen的更多東西,但很難說您輸出的產品 – sedavidw

+0

我沒有線路無法工作。這是我目前的計劃中唯一的一條線。我不知道該給你什麼,所以你可以理解。現在我啓用OpenMP和SSE就像在這篇文章中發現:http://forum.kde.org/viewtopic.php?f=74&t=98401但沒辦法...我可以顯示我的文件的結構可能是.. 。 –

回答

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> 

希望它會幫助別人。