在C++ Xcode中链接阿玛迪洛库

3

我刚开始使用 Mac 和 Armadillo,以下是我使用 C++ 和 Armadillo 的步骤:

  • 下载并安装 Xcode
  • 下载并安装 Homebrew
  • 在终端中键入“brew install armadillo”

除此之外,Mac 也基本上是出厂设置。

通过 brew 下载 armadillo 看起来已经成功了,但是我不太确定接下来该怎么做,因为我的代码(如下所示)仍然无法编译。它仍然说找不到 armadillo。

#include<iostream>
#include<armadillo>

using namespace std;
using namespace arma;

int main(int argc, const char * argv[]) {
   mat A;
   A << 1 << 2 << endr << 3 << 4 endr;
   cout << A << endl;

   return 0;
}

我知道可能有一些简单的东西我没有理解,但我对这些都是新手,所以我会感激您的建议,谢谢。

你只需要将 Armadillo 路径添加到你的项目配置中。 - zapredelom
2个回答

3
我使用了默认的cmake选项,所以我的armadillo.h .dylib文件分别位于/usr/local/include和/usr/local/lib中。
1)将包含armadillo.h和armadillo.5.20.2.dylib路径添加到Header Search Paths和Library Search Paths中。 搜索路径屏幕截图 搜索对话框有助于定位上述项目参数。
2)将dylab添加为目标依赖项 链接二进制库屏幕截图 点击'+' -> 添加其他 -> ⌘ Shift G -> /usr/local
然后选择/usr/local/lib/armadillo.5.20.2.dylib
回顾一下,最好使用替代安装位置运行cmake,例如:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/opt

在这种情况下,⌘ Shift G 步骤是不必要的,可以通过键入 sudo SetFile -a v /opt 在 Finder 中看到 /opt 目录。

1
所以我在搜索之后发现,/usr/bin/被隐藏了,这让我很困惑,但是你可以从终端中使用cd进入该目录。然后Armadillo位于路径/usr/local/Cellar/armadillo/4.600.2/include,我将其复制到Xcode的Search Paths -> Header Search Paths中。

您也可以使用CMake安装Armadillo,而不是通过Homebrew进行安装。请参阅随官方Armadillo .tar.gz [package](http://arma.sourceforge.net/download.html)一起提供的`README.txt`。基于CMake的安装将把Armadillo头文件放入`/usr/include/`中。这个路径应该是Xcode默认搜索的。 - mtall

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接