Ubuntu 上的 vcpkg 和 cmake 以及 vsc 找不到包
vcpkg and cmake and vsc on Ubuntu can not find package
我在 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。
问题是什么,我该如何解决?
如评论中所述,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})
我在 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。
问题是什么,我该如何解决?
如评论中所述,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})