【发布时间】:2022-01-19 05:24:04
【问题描述】:
Find_package 命令对我来说是一场噩梦。 我正在尝试在我的项目中包含一些指定的组件。 对于不同的错误,使用 find_package 命令找不到某些组件。 谁能帮忙解释报告的错误?
案例一:
cmake_minimum_required(VERSION 3.15)
project(tryBoost)
set(CMAKE_CXX_STANDARD 14)
set(BOOST_ROOT "D:\\cygwin64\\home\\yubo\\boost_1_62_0") # either set it here or from the command line
find_package(Boost 1.62.0 REQUIRED COMPONENTS json) # header only libraries must not be added here
add_executable(tryBoost main.cpp)
我尝试查找json,但是报错: 没有为 json 定义头文件;跳过标题检查
案例2:
cmake_minimum_required(VERSION 3.15)
project(tryBoost)
set(CMAKE_CXX_STANDARD 14)
set(BOOST_ROOT "D:\\cygwin64\\home\\yubo\\boost_1_62_0") # either set it here or from the command line
find_package(Boost 1.62.0 REQUIRED COMPONENTS system) # header only libraries must not be added here
add_executable(tryBoost main.cpp)
我试图找到system,但是报错: 找不到 Boost(缺少:Boost_INCLUDE_DIR 系统)
boost 如何在子目录中组织其组件?扫描 boost 根目录时 find_package 命令如何工作?为什么“不能在此处添加仅标头库”。
谢谢。
【问题讨论】:
-
制作
set( Boost_DEBUG ON)应该会打印出更多信息。 -
你刚刚下载/解压了 boost 吗?你必须构建它。
-
@Jellyboy 它很有用,通过调试我解决了第一个问题:boost1.62.0 中不包含 json.hpp。我应该使用更高版本,例如 boost1.78.0。 -----稍后我将在cygwin上构建它以检查第二个问题。