首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >vcpkg 如何改变开发流程?

vcpkg 如何改变开发流程?

作者头像
程序员的园
发布2024-12-30 13:03:35
发布2024-12-30 13:03:35
4730
举报

在现代软件开发中,使用开源第三方库是非常常见的做法。但是第三方库的下载和编译,尤其是涉及到跨平台时,一直是一个费时费力的过程。以我之前的经历来讲,如webrtc、obs都是自己手动下载、编译、配置,Windows平台弄完,mac平台还要再来一遍,真的是一个非常痛苦的事情。而包管理工具vcpkg的出现,不仅改变了开发流程,也提高了开发效率。

1. vcpkg

vcpkg 是一个跨平台的 C++ 包管理工具,通过简单命令进行依赖库的搜索和下载,vcpkg具有如下的优点:

  • 跨平台:vcpkg 支持 Windows、Linux 和 macOS 三大平台,用户可以在不同的操作系统上使用相同的命令行工具。
  • 安装方便:vcpkg 提供了脚本,用户可以直接使用脚本安装,无需手动操作。
  • 简单易用:vcpkg 提供了简单的命令行工具,用户可以通过简单的命令进行依赖库的搜索、下载、更新。
  • 丰富的库支持:vcpkg 提供了大量的开源 C++ 库,用户可以根据自己的需求进行选择。

当然,目前也存在很多其他的包管理工具,如Conan、Hunter等,这两个工具也具有其应用场景和存在的价值,但是对于新手来说,vcpkg更加友好。

2. vcpkg 的安装

vcpkg 的安装非常简单,只需要克隆 vcpkg 仓库,然后运行安装脚本即可。

克隆仓库,执行如下命令即可

代码语言:javascript
复制
git clone https://github.com/microsoft/vcpkg.git

进入 vcpkg 目录并运行安装脚本,如下:

代码语言:javascript
复制
cd vcpkg
./bootstrap-vcpkg.bat //windows平台
./bootstrap-vcpkg.sh //linux or mac

添加到环境变量(可选):为了在命令行中直接使用 vcpkg 命令,可以将 vcpkg 目录添加到系统的环境变量中。windows平台需要将 vcpkg 目录添加到 PATH 环境变量中。linux or mac平台需要将 vcpkg 目录添加到 PATH 环境变量中。

3. vcpkg 的使用

vcpkg 的使用非常简单,

搜索库:使用 vcpkg search 命令搜索库,例如:

代码语言:javascript
复制
vcpkg search boost

安装库:使用 vcpkg install 命令安装库,例如:

代码语言:javascript
复制
vcpkg install boost

卸载库:使用 vcpkg remove 命令卸载库,例如:

代码语言:javascript
复制
vcpkg remove boost

更新库:使用 vcpkg update 命令更新库,例如:

代码语言:javascript
复制
 vcpkg update

清理缓存:使用 vcpkg clean 命令清理缓存,例如:

代码语言:javascript
复制
vcpkg clean

如上命令,搜索、安装、卸载、更新均未指定平台,也未指定库的类型,所以vcpkg会自动根据当前的平台下载对应的动态库。如果希望安装指定平台的库,可以在命令中指定,例如:

代码语言:javascript
复制
vcpkg install boost --triplet x64-windows //windows平台动态库
vcpkg install boost --triplet x64-windows-static //windows平台静态库

查找安装的库

在工程中,尤其涉及到多人开发时,是需要将依赖库放置到项目中去的,所以找到用命令安装的库是非常重要的。如果强制指定则到自己指定位置查找;如果没有强制指定时,vcpkg会将库安装到 vcpkg/installed/<triplet> 目录下,如下图所示:

文件夹内部会有如下文件夹

  • bin:动态库和可执行文件。
  • lib:静态库文件或导出库。
  • include:库的头文件。
  • share:CMake 配置文件,供集成使用。
  • debug:调试版本的库文件。

你可以通过 CMake 配置这些路径,来方便地将库集成到项目中。

4. 总结

包管理工具的引入极大地提升了软件开发的效率,尤其是在跨平台开发中,能够自动处理依赖关系和版本兼容性。vcpkg 作为一个简单易用、功能强大的工具,能够帮助开发者轻松管理 C++ 库,尤其是在跨平台开发中,提供了无缝的支持。 与其他工具相比,vcpkg 凭借其简洁的命令行工具、广泛的库支持和与 CMake 的紧密集成,成为 C++ 开发者的首选工具。无论是简单的库安装,还是复杂的跨平台项目,vcpkg 都能轻松应对。

如上讨论均不涉及对于库的二次开发,如果涉及到库的二次开发,仍需要手动下载、编译对应的库,然后集成到项目中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员的园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. vcpkg
  • 2. vcpkg 的安装
  • 3. vcpkg 的使用
  • 4. 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档