我是Mac OS X 10.8.3用户(Mountain Lion)。我按照README.txt说明下载了armadillo并将其安装在OS X中。通过输入以下内容编译好:
g++ ... *stuff* ... -O2 -larmadillo
在终端。通过在Eclipse CDT中包含相同的链接器参数,我已经能够在OS X中的Eclipse(Juno)中编译armadillo。但是,我的问题是在Xcode 4中编译 - 我需要的程序让犰狳进来!我已经尝试将“-O2 -larmadillo”字符串添加到其他链接器标志。我还尝试在标题搜索路径和库搜索路径中添加/ usr / local / lib和/ usr / local / include /。我已经得到了Xcode 4来识别命令:
# include < armadillo >
或
# include "/usr/local/include/armadillo"
但是,在编译时,Xcode 4无法识别如下的行:
mat A;
所以代码:
# include < iostream >
# include < armadillo >
using namespace std;
int main() {
mat A;
return 0;
}
我收到的错误如下:
使用未声明的标识符'mat';你的意思是'max'吗? 预期';'表达后 使用未声明的标识符'A'
无法解析对重载函数的引用;你的意思是打电话吗?
请注意,代码甚至没有进入编译阶段!
我现在想:如何正确链接和编译在Xcode 4中使用armadillo库的C ++代码?
非常感谢!
丹尼尔。
答案 0 :(得分:3)
您是否忘记添加“使用命名空间arma”?即
# include <iostream>
# include <armadillo>
using namespace std;
using namespace arma; // make Armadillo classes and functions visible by default