在Xcode 4中链接和编译犰狳

时间:2013-05-21 21:56:47

标签: c++ macos xcode4 linker armadillo

我是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 ++代码?

非常感谢!

丹尼尔。

1 个答案:

答案 0 :(得分:3)

您是否忘记添加“使用命名空间arma”?即

# include <iostream>
# include <armadillo>

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