2013-02-01 51 views
1

我想在我的ios項目中使用特徵3我已經添加了頭文件,但它不允許我編譯。它總是給出錯誤。特徵用於ios項目

無法解析。我一直在尋找解決方案很多天。

我的所有文件都.mm

我想,我錯過任何編譯器標誌,連接或點兒。

請幫幫我。

Xcode的附加屏幕截圖。

如果有人能幫助我,我將不勝感激。

感謝enter image description here

回答

3

首先,確保你包含Eigen/Core(或類似),而不是直接在Eigen/src /中的.h文件。然後,我想問題是你正在混合C++和客觀c代碼(.mm文件)。這使編譯器感到困惑,因爲Eigen需要非常好的C++編譯器支持。你不能在ios中使用純粹的C++代碼嗎?

+0

它的工作! :) 謝謝 –

+0

@ ZainRaza不要忘記接受答案。 – aledalgrande

+0

我希望你可以寫一個教程,你如何使它的工作。我仍然看到類似的問題。 – Liangjun

1

錯誤語句是相當清楚的:您使用的是不知道的編譯器標識符。 可能的原因:

  1. 您未能包含正確的頭文件。例如,Dynamic定義在Constants.h
  2. 您無法打開正確的名稱空間。例如,爲名稱空間Eigen定義Dynamic
+0

但這是默認的Eigen頭文件庫。它不應該給這些類型的錯誤。 這是Block.h文件 甚至它給錯誤:塊未聲明。 –

+0

如果這是Eigen的標題(你應該提到這一點),我猜你顯示的錯誤不是第一個,是嗎?在包含Eigen之前,請檢查您的包含路徑和行**。 – Matthias

+0

我正在使用我的項目中的純C++代碼。但連接iOS的C++代碼objective-c。 Xcode基本編譯器,我也設置了Eigen的路徑。是使用(.mm)幷包含E​​igen/Core而不是src中的文件。 但仍然錯誤.. –