【问题标题】:How to have CMake use the boost under /usr/local如何让 CMake 使用 /usr/local 下的 boost
【发布时间】:2014-08-27 17:53:17
【问题描述】:

我在 /usr 中安装了 boost 1.46,在 /usr/local/ 中安装了 1.53。我想将我的二进制文件链接到 CMake 中的后者。虽然我用

cmake . -DBOOST_ROOT=/usr/local

结果很奇怪:

Include dirs of boost: /usr/local/include
Libs of boost: /usr/lib/libboost_program_options-mt.a

CMake如何在完全不同的路径中找到头文件和库?

【问题讨论】:

  • 您能否再次检查libboost_program_options-mt.a 是否存在于/usr/local/lib 目录中?

标签: c++ boost cmake


【解决方案1】:

使用 CMake 设置附加变量

cmake 。 -DBOOST_ROOT=/usr/local -DBoost_NO_SYSTEM_PATHS=ON

这将强制模块使用搜索提示并跳过额外的系统检查。

您还可以添加 -DBoost_DEBUG=ON 以启用有关搜索过程的调试输出。

【讨论】:

    【解决方案2】:

    您可以定义指向您的 boost 目录的 BOOST_ROOT 环境变量:

    BOOST_ROOT=/usr/local
    

    【讨论】:

      猜你喜欢
      • 2019-06-14
      • 2019-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      • 2015-12-13
      • 1970-01-01
      相关资源
      最近更新 更多