跨平台的 C/C++ 库管理工具 vcpkg

Vcpkg是一个跨平台的包管理工具,用于简化Windows、Linux和MacOS上C/C++库的安装和管理。它避免了复杂的编译步骤,支持多种架构如x86和x64。常用命令包括搜索包、安装、查看已安装库、更新和移除包。例如,安装x64静态库版本的protobuf,命令为`vcpkg install protobuf:x64-windows-static`。安装后,库文件位于`installed`目录下。此外,vcpkg还支持导出和更新包,以及根据.proto文件生成C++代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vcpkg.exe

Vcpkg 可帮助您在 Windows、 Linux 和 MacOS 上管理 C 和 C++ 库 。

避免 编译一个库需要安装各种工具,从而避免 Windows下复杂的编译步骤 。

安装编译后,在 C:\src\vcpkg\vcpkg-2021.05.12\installed 目录下包含:

  • x86-windows-static
  • x64-windows-static

一. 常用命令

1. 搜索可被编译的包

C:>vcpkg.exe search | findstr "protobuf"

2. 安装库语法

C:>vcpkg install [packagesname]:triplet
  • 注意
    • 不指定 triplet(可以认为是架构),默认安装的是x86,大概率还是动态库版本
    • 编译安装库。编译好后存放在 vcpkginstalled 下的x64-windows-static 目录
    • debugMTd
    • Relase 下为 MT
    • debug 工程需要使用 x64-windows-static\debug 目录下的库.并把工程的 Runtime Library 修改为 MTd. Release 做相似的修改 .

3. 查看支持的架构

PS E:\dev\vcpkg> ./vcpkg.exe help triplet
Available architecture triplets
VCPKG built-in triplets:
  arm-uwp
  arm64-windows
  x64-linux
  x64-osx
  x64-uwp
  x64-windows-static
  x64-windows
  x86-windows
  ......

4. 查看已安装的库

C:\src\vcpkg\vcpkg-2021.05.12>vcpkg list
protobuf:x64-windows-static                        3.15.8#1         Protocol Buffers - Google's data interchange format
protobuf:x86-windows-static                        3.15.8#1         Protocol Buffers - Google's data interchange format

5. 更新包和依赖

C:>./vcpkg update

6. 更新vcpkg

C:>vcpkg git pull

二. 使用案例

1. 安装 x64 静态库版本的 protobuf

C:\src\vcpkg\vcpkg-2021.05.12>vcpkg install protobuf:x64-windows-static
  • 安装后在目录 C:\src\vcpkg\vcpkg-2021.05.12\installed\x64-windows-static 下子目录结构
    • debug 包含调试版本的静态库
    • include 包含头文件
    • lib 包含 release的静态库
    • share
    • tools 对应的二进制文件. protoc.exe

2. 安装 x86 静态库版本的 protobuf

C:\src\vcpkg\vcpkg-2021.05.12>vcpkg install protobuf:x86-windows-static
  • 安装后在目录 C:\src\vcpkg\vcpkg-2021.05.12\installed\x86-windows-static

3. 移除库

./vcpkg.exe remove jsoncpp:x64-windows-static

4. 导出包

C:>./vcpkg.exe export jsoncpp:x64-windows-static --zip

三. 根据 *.proto 生成 *.h 和 *.cc

protoc -I . --cpp_out=. addressbook.proto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值