使用CMake和vcpkg无法找到Boost库

3

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

vcpkg install 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> ...)

因此,在我的CMakeLists.txt中,我添加了以下行:

find_package(Boost COMPONENTS variant2 REQUIRED)
target_link_libraries(MyTarget PRIVATE Boost::variant2)

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

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

1个回答

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)

您可以在 这里 查看Windows操作系统所需构建的库列表,这里 则是Unix类操作系统所需构建的库列表。请注意,这些库都是头文件库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接