如何更改 CMakeLists.txt 查找 Boost 库的位置 Ubuntu

How to change where CMakeLists.txt looks for Boost Libraries Ubuntu

我使用的是 Boost 1.54.0,它位于“/usr/include”。我们把它吹走了并安装了 Boost 1.57.0。它安装在“/usr/local/include”。

现在,我使用 CMake 的 CLion 项目找不到 Boost 库。这是我的 CMakeLists.txt 文件:

这是我的错误:

我不知道如何让 CMake 在 Boost 的正确位置显示。

根据 FindBoost 文档 (http://www.cmake.org/cmake/help/v3.1/module/FindBoost.html),您可以设置 CMake 变量 BOOST_ROOT 以向 CMake 提供查找位置的提示。

在您的 CMakeLists.txt 文件中,您可以在 find_package(Boost...) 行之前添加以下内容:

set(BOOST_ROOT /usr/local)

更新: 我同意将机器特定配置参数直接放在 CMakeLists.txt 中不是最佳做法的评论。

作为直接设置此变量的替代方法,您可以通过执行以下操作将类似这样的选项传递给 CLion 中的 cmake 进程:

导航到 File -> Settings... -> Build, Execution, and Deployment -> CMake。在 Generation 下,将 -DBOOST_ROOT=/usr/local 添加到 CMake options