2013-05-21 81 views
0

我是Mac OS X 10.8.3用戶(Mountain Lion)。按照README.txt說明,我下載了armadillo並將它安裝在OS X中。它通過鍵入編譯罰款:在Xcode 4中鏈接和編譯犰狳

g++ ... *stuff* ... -O2 -larmadillo 

在終端。通過在Eclipse CDT中包含相同的鏈接器參數,我能夠在OS X中的Eclipse(Juno)中編譯armadillo。但是,我的問題是當涉及到在Xcode 4中編譯 - 程序I 需要有犰狳在!我已經嘗試將「-O2 -larmadillo」字符串添加到其他鏈接器標誌。我還嘗試在頭文件搜索路徑和庫搜索路徑中添加/ usr/local/lib和/ usr/local/include /。我已經得到的Xcode 4,從而識別該命令:

# include <armadillo> 

# include "/usr/local/include/armadillo" 

然而,當涉及到編譯時間的Xcode 4不能識別這樣一行:

墊A;

所以對於代碼:

# include <iostream> 

# include <armadillo> 

using namespace std; 

int main() { 

    mat A; 

    return 0; 

} 

我得到這樣的錯誤:

使用未聲明的標識符 '墊子' 的;你的意思是'最大'?
預期';'表達後
使用未聲明的標識符的「A」

參考重載函數無法解析;你打算打電話嗎?

請注意,代碼甚至沒有進入編譯階段!

我想現在:我如何正確地鏈接和編譯在Xcode 4中使用犰狳庫的C++代碼?

非常感謝!

丹尼爾。

回答

3

你忘了添加「using namespace arma」嗎?即。

# include <iostream> 
# include <armadillo> 

using namespace std; 
using namespace arma; // make Armadillo classes and functions visible by default