c++ - 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。
有什么问题,我该如何解决?
解决方案
如评论中所述,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})
推荐阅读
- excel - 如何在excel vba中删除特定列(不完全)
- gradle - 在类路径中为 Gradle 插件任务添加其他模块
- javascript - 为什么 JavaScript reduce 方法当前索引参数从 1 开始?
- angular - 构造函数签名的返回类型必须可在角度服务上分配
- javascript - 从字符串中去掉后面的逗号和空格
- laravel - Laravel - 如何传递参数以返回重定向
- python - 从另一个夹具动态创建 PyTest 夹具参数
- javascript - 以 MB 为单位获取音频文件大小不起作用 - 通过 JavaScript/ajax
- java - Maven 看不到黄瓜步骤定义
- html - 边缘和 HTML 表单验证:如何删除无效状态元素的输入周围的“红色方块”?