VCPKG的妙用

->问题描述:如何用c++读取一个文件夹下的所有图片处理并保存opencv?

这是一个非常常见的问题,目前网上提到的写法,大多都依赖于系统调用(基本就是不能跨平台使用),直到在openvslam的实现里,发现了一种比较好的方法,如下:

而这里我们就可以用到VCPKG去安装dirent库来实现上述的solution。

(除此之外,其实还可以通过opencv的glob获取文件的方式来操作,当然此处是为了抛砖引出VCPKG) 

 

VCPKG是什么

VCPKG是微软 C++ 团队开发的适用于 C 和 C++ 库的跨平台开源软件包管理器,它大大简化了 Windows、Linux 和 macOS 上第三方库相关的下载和配置操作,目前已有超过1600个第三方库可以通过vcpkg来安装。

 

VCPKG的优势

  1. 自动下载开源库源代码。
  2. 一键安装第三方库。
  3. 源码包的缓存管理和版本管理,可以依需求安装指定的版本。
  4. 自动检查库的依赖关系并安装其依赖项。
  5. 无缝集成Visual Studio,不用手动设置任何的库相关的路径。
  6. Visual Studio全平台支持,不仅支持Debug/Release、x86/x64编译,还支持UWP、ARM平台的编译。

 

VCPKG的获取

下载

VCPKG的官方源码站点为:https://github.com/microsoft/vcpkg

通常,您可以在PowerShell窗口中使用git命令克隆vcpkg的当前版本:

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

获取vcpkg.exe

获取vcpkg.exe很简单,使用PowerShell执行vcpkg工程目录下的“bootstrap-vcpkg.bat”命令即可。

 

 集成到全局

适用于visual studio环境和MSBuild命令行,执行以下命令:

vcpkg.exe integrate install  

 

 然后安装dirent库:

vcpkg.exe install dirent 

 

推荐:c++ 在Windows和Linux下读取文件夹下的文件的两种方法

posted @ 2022-05-16 17:31  小金乌会发光-Z&M  阅读(136)  评论(0编辑  收藏  举报