c++ - 为 cmake 生成的 eclipse 项目链接 boost::program_options 和 Armadillo 之间的错误

标签 c++ eclipse boost environment-variables armadillo

所以我在我的项目中成功地使用了 cmake 和 boost。 我想开始合并 Armadillo (4.400.1)

我在我的系统上使用环境模块 ( http://modules.sourceforge.net/ )。 我用 gcc-4.8.1 构建。 中央操作系统 6.4。 我从源代码安装了 OpenBLAS (0.2.10) 和 Armadillo ,并创建了环境模块。

在过去,我只需要在 LD_LIBRARY_PATH 前面加上 lib 目录,但这对于 Armadillo 来说还不够,因为我遇到了以下链接错误(无法找到 lib):

g++ example1.cpp -o example1 -O2 -larmadillo 

使用 -L 选项有效:

g++ example1.cpp -o example1 -O2 -larmadillo -L${ARMADILLO_HOME}/lib

我已经将 armadillo lib 目录放在 LD_LIBRARY_PATH 中。如何设置环境变量,以便以下链接不会出错?

g++ example1.cpp -o example1 -O2 -larmadillo

最佳答案

我必须将 armadillo lib 目录放在环境变量 LIBRARY_PATH 而不是 LD_LIBRARY_PATH

这样做允许链接在发出命令时没有错误地继续:

g++ example1.cpp -o example1 -O2 -larmadillo

关于c++ - 为 cmake 生成的 eclipse 项目链接 boost::program_options 和 Armadillo 之间的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25435879/

相关文章:

c++ - 如何检查套接字是否在 Boost.Asio 中关闭?

c++ - 如何在 vim 中自动包含 C++ 头文件?

c++ - 将适当的 PHI 节点添加到 llvm-ir

java - 即使我有预期的注释,JUnit 测试在 eclipse 中运行也会返回错误

c++ - 为什么 boost asio 信号处理程序立即被取消?

c++ - boost.filesystem create_directories 抛出 std::bad_alloc

c++ - 在vtk中翻转Y轴

c++ - 从二进制文件中读取 char*

java - 我的 Eclipse 项目中是否需要 iml、iws ipr 文件?

java - 此环境中不提供编译器。也许您在 JRE 而不是 JDK 上运行?