尝试使用 Armadillo 库运行示例时出现 Xcode C++ 链接器错误

Posted

技术标签:

【中文标题】尝试使用 Armadillo 库运行示例时出现 Xcode C++ 链接器错误【英文标题】:Getting Xcode C++ linker error when trying to run an example using Armadillo library 【发布时间】:2018-11-16 23:19:25 【问题描述】:

我正在尝试在 Xcode 中运行示例程序(附带安装 Armadillo 库)并收到以下错误:

链接器命令失败,退出代码为 -1(使用 -v 进行调用)

我无法弄清楚 Google 搜索的内容。

我可以使用以下命令在命令提示符下构建和运行程序:

g++ example1.cpp -O2 -larmadillo

这是我的构建设置:

这是包含 armadillo.h 标头的搜索路径:

我的代码是:

实际错误是:

【问题讨论】:

请添加来自链接器的实际错误消息。它应该在您发布的输出之前。可能还需要您的代码来回答问题。 -O2 不是链接器标志,并且 g++ 接受链接器标志并将其传达给链接器,在这种情况下它就像一个驱动程序。这些天 XCode 是否在使用 clang?如果您在 XCode 中使用 g++,则 -O2 -larmadillo 应该是编译器标志而不是链接器标志。我还假设因为它在 shell 中工作,所以库已经在 g++ 的搜索路径中,所以除非 Xcode 重写整个 PATH 环境变量,否则它应该能够找到它。 我在原贴中添加了代码,也添加了实际错误。 我尝试在没有 -O2 标志的情况下进行构建。它仍然在 Xcode 中提供相同的错误。但我可以使用命令提示符构建代码。 【参考方案1】:

我能够通过安装 macport 成功构建。 步骤如下:

    从https://www.macports.org/下载并安装macport。

    将库路径设置为 /opt/local/lib。

    将 Header 路径设置为 /opt/local/include。

    将其他链接器标志设置为 -larmadillo。

【讨论】:

以上是关于尝试使用 Armadillo 库运行示例时出现 Xcode C++ 链接器错误的主要内容,如果未能解决你的问题,请参考以下文章

未加载库:尝试使用 mysql2 gem 在 OS X 10.6 上运行“rails server”时出现 libmysqlclient.16.dylib 错误

使用 msn 协议运行 twisted.words 示例时出现问题

windows spyder 运行 py 文件时出现无效语法错误

运行 Amazon S3 示例时出现 Amazon AWS 403 InvalidAccesskey 错误

尝试运行 Google Speech Recognition java 示例时出现“需要 query.json 的路径”错误

使用 Tomcat 运行带有外部库的应用程序时出现 NoClassDefFoundError