首页 > 解决方案 > Ubuntu上的vcpkg和cmake和vsc找不到包

问题描述

我在 Ubuntu 20.04 上安装了 vcpkg 并安装了 boost 和 opencv。

我有这个 cmakelist 文件:

set(CMAKE_TOOLCHAIN_FILE /home/m/local/vcpkg/scripts/buildsystems/vcpkg.cmake CACHE STRING "")
set(VCPKG_TARGET_TRIPLET "x64-linux" CACHE STRING "")
cmake_minimum_required(VERSION 3.0.0)
project(test1 VERSION 0.1.0)
    
find_package(Opencv CONFIG REQUIRED)
find_package(boost CONFIG REQUIRED )
    
add_executable(test1 main.cpp)
target_link_libraries(test1 PRIVATE opencv::opencv boost::boost)

但是当我在 Visual Studio 代码中运行它时,它找不到 openCV 和 boost。

有什么问题,我该如何解决?

标签: c++visual-studio-codecmakevcpkg

解决方案


如评论中所述,CMake 中的案例很重要:

find_package(OpenCV CONFIG REQUIRED)

find_package(Boost REQUIRED)

vcpkg 不会为 Boost 安装配置文件,因此您不能CONFIG在此处使用。您可能还想使用COMPONENTS列出您实际需要的模块的选项来调用它。

vcpkg 的用法:

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

    find_package(Boost REQUIRED [COMPONENTS <libs>...])
    target_link_libraries(main PRIVATE ${Boost_LIBRARIES})
    target_include_directories(main PRIVATE ${Boost_INCLUDE_DIRS})

推荐阅读