无法使用 CMake 和 vcpkg 找到 Boost 库

mat*_*per 4 c++ boost cmake vcpkg

我已经boost-variant2使用 vcpkg 命令安装了库:

vcpkg 安装 boost-variant2:x64-windows

vcpkg安装完成后,提示如下:

The package boost is compatible with built-in CMake targets:

    find_package(Boost REQUIRED [COMPONENTS <libs>...])
    target_link_libraries(main PRIVATE Boost::boost Boost::<lib1> Boost::<lib2> ...)
Run Code Online (Sandbox Code Playgroud)

所以在我的 CMakeLists.txt 中我添加了以下几行:

find_package(Boost COMPONENTS variant2 REQUIRED)
target_link_libraries(MyTarget PRIVATE Boost::variant2)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行时,cmake -DCMAKE_TOOLCHAIN_FILE:STRING=/path_to_vcpkg/scripts/buildsystems/vcpkg.cmake出现以下错误:

-- 配置不完整,出现错误!
找不到 Boost(缺少:variant2)(找到版本“1.78.0”)

小智 7

看起来像variant2是头文件库,你可以像这样使用Cmake文件:

cmake_minimum_required(VERSION 3.5)

project(project LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Boost)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(project main.cpp)
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看Windows所需构建的库列表,以及此处为类 Unix 系统构建的库列表