在 Xcode 4 中链接和编译犰狳

Posted

技术标签:

【中文标题】在 Xcode 4 中链接和编译犰狳【英文标题】:Linking and compiling armadillo in Xcode 4 【发布时间】:2013-05-21 21:56:47 【问题描述】:

我是 Mac OS X 10.8.3 用户(Mountain Lion)。我已经下载了犰狳,并按照 README.txt 说明将其安装在 OS X 中。通过键入以下内容可以正常编译:

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

在终端中。通过在 Eclipse CDT 中包含相同的链接器参数,我已经能够在 OS X 的 Eclipse (Juno) 中编译犰狳。但是,我的问题是在 Xcode 4 中编译时——我需要的程序 em> 让犰狳进来!我已经尝试将“-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;


我收到如下错误:

使用未声明的标识符“mat”;你的意思是“最大”吗? 预期的 ';'表达后 使用未声明的标识符“A”

无法解析对重载函数的引用;你的意思是这样称呼它吗?

请注意,代码甚至没有进入编译阶段!

我现在想:如何正确链接和编译使用 Xcode 4 中的犰狳库的 C++ 代码???

非常感谢!

丹尼尔。

【问题讨论】:

【参考方案1】:

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

# include <iostream>
# include <armadillo>

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

【讨论】:

以上是关于在 Xcode 4 中链接和编译犰狳的主要内容,如果未能解决你的问题,请参考以下文章

链接器错误、Xcode 5 和 Armadillo:“找不到 -larmadillo.4.0.2 的库”

使用 PGI 编译器链接到犰狳库的 Makefile

如何在编译期间强制犰狳库链接到本地​​ OpenBLAS

XCode 4、Armadillo 和 XCode 标准库

将犰狳 lapack blas 链接到代码时出错:未定义对“dtrsm_”的引用

如何在linux ubuntu下链接犰狳给出链接错误