在 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 的库”