Cmake + vcpkg 构建 OpenCV 应用

本文介绍了如何在Windows10环境下,利用vcpkg包管理工具安装OpenCV,并详细阐述了如何在CLion中配置CMake来调用OpenCV的步骤,包括设置CMake参数、修改CMakeList.txt文件以及测试代码的编写。在安装过程中,还特别提到了解决可能出现的ninja-v命令找不到的问题和链接库的设置技巧。

本文主要记录使用 vcpkg 包管理工具安装 OpenCV,然后在 CLion 中使用 CMake 构建工具调用 OpenCV 的环境配置过程

环境:

  • Windows 10
  • VS 2019

安装使用 vcpkg

官方文档

1. 克隆 vcpkg

git clone https://github.com/Microsoft/vcpkg.git

2. 构建 vcpkg

.\vcpkg\bootstrap-vcpkg.bat

构建完成之后,可以将 vcpkg 所在路径加入环境变量,便于在其它目录下调用。

3. 使用 vcpkg

vcpkg install [packages to install]

另外,如果没有安装合适版本的 CMake,此过程中会自动安装。

值得注意

在使用 vcpkg 安装第三方包时,可能会出现无法构建的情况,提示无法使用ninja -v命令。

解决方法为,在Visual Studio Installer中安装英文语言包即可:

image-20211215155103658

使用 vcpkg 安装 OpenCV

直接使用一下命令即可:

vcpkg install opencv:x64-windows

其中,x64-windows为64位版本,不注明默认为32位。

编译时间较长,耐心等待即可。

CMake 中使用 OpenCV

1. 设置 CMake 参数

根据官网的提示,设置DCMAKE_TOOLCHAIN_FILE参数:

使用 CLion 时,在设置中填写即可,路径指向 vcpkg 安装的位置:

image-20211215155724057

2. 修改 CMakeList.txt 文件

需要添加的代码如下:

find_package(OpenCV CONFIG REQUIRED)
# Note: 10 target(s) were omitted.
target_link_libraries(main PRIVATE ${OpenCV_LIBS})

其中,target_link_libraries(main PRIVATE ${OpenCV_LIBS})中的main改为可执行文件名即可

另外,可以循环输出${OpenCV_LIBS}查看具体链接了哪些库:

foreach(list ${OpenCV_LIBS})
    message(${list})
endforeach(list)

因为根据 vcpkg 安装完 OpenCV 之后给的提示填写链接库,使用 OpenCV 读取读取图像时,会报无法解析外部符号的错,这里指定为所有的库。

3. 测试

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;


int main() {
    Mat image = imread("F:\\pics\\mine\\tx.jpg");
    namedWindow("test", WINDOW_AUTOSIZE);
    imshow("test", image);
    waitKey(0);
    return 0;
}

其中图像路径修改为本地路径。

成功显示图像:

image-20211220150020281

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MCmengde

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值