如何更改 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
。
我使用的是 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
。