当前位置: 首页 > news >正文

vcpkg 与 CMake 集成的步骤

1. vcpkg 的基本功能

  • 包管理 vcpkg 提供了大量开源库的预编译版本(支持 Windows、Linux 和 macOS)。
  • 自动配置 CMake vcpkg 提供了一个工具链文件(vcpkg.cmake),可以无缝集成到 CMake 中。
  • 跨平台支持 :通过 vcpkg 安装的库可以在不同平台上使用,而无需手动处理依赖。

2. vcpkg 与 CMake 集成的步骤

(1) 安装 vcpkg

首先需要安装 vcpkg。以下是安装步骤:

# 克隆 vcpkg 仓库git clone https://github.com/microsoft/vcpkg.git# 进入 vcpkg 目录cd vcpkg# 在 Linux/macOS 上运行引导脚本./bootstrap-vcpkg.sh# 在 Windows 上运行引导脚本.\bootstrap-vcpkg.bat

 安装完成后,你会得到一个可执行的 vcpkg 工具。


(2) 使用 vcpkg 安装库

通过 vcpkg 安装所需的库。例如,安装 libidn2

 ./vcpkg install libidn2

如果你需要特定平台的版本(如 x64 或 arm64),可以指定目标架构:

 ./vcpkg install libidn2:x64-linux

./vcpkg install libidn2:x64-windows


(3) 集成 vcpkg 到 CMake

vcpkg 提供了一个工具链文件(vcpkg.cmake),可以直接传递给 CMake,从而让 CMake 自动找到通过 vcpkg 安装的库。

方法 1:直接在命令行中指定工具链文件

运行 CMake 时,通过 -DCMAKE_TOOLCHAIN_FILE 参数指定 vcpkg 的工具链文件路径。例如:

 cmake -B build -S . \

-DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake

注意window下一般在scripts\buildsystems目录下找vcpkg.cmake文件,linux估计也是一样的吧

方法 2:设置环境变量

为了避免每次都要指定工具链文件,可以将 CMAKE_TOOLCHAIN_FILE 设置为环境变量:

 export CMAKE_TOOLCHAIN_FILE=/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake

然后直接运行 CMake:

 cmake -B build -S .

vcpkg install 命令可以选择安装的目标架构(位数)、编译类型(静态或动态)以及安装的版本(Release 或 Debug),下面为你详细介绍如何操作。

选择安装的位数(目标架构)

vcpkg 支持多种目标架构,包括 x86x64 等。你可以通过指定 --triplet 参数来选择不同的目标架构。

常见的架构三元组
  • x86-windows:32 位 Windows 架构。
  • x64-windows:64 位 Windows 架构。
  • arm64-windows:ARM64 位 Windows 架构。
示例
  • 安装 32 位版本的 zlib
vcpkg install zlib --triplet x86-windows

  • 安装 64 位版本的 zlib
vcpkg install zlib --triplet x64-windows

选择编译的类型(静态,动态)

你可以通过修改 vcpkg 的配置文件或者使用 --feature 参数来选择静态库或动态库的编译方式。

使用配置文件

在 vcpkg 根目录下的 vcpkg.json 文件中,可以添加或修改 "builtin-baseline" 字段之后的 "overrides" 字段,来指定默认的库类型。

{"name": "my-project","version-string": "0.1.0","builtin-baseline": "abc123","overrides": [{"name": "zlib","features": ["static"]}]
}

上述配置指定 zlib 以静态库方式编译。如果要使用动态库,则将 "static" 改为 "shared"

在安装时直接指定特征。

  • 安装静态版本的 zlib: 

    在 Windows 系统上,若要使用 x64 架构并安装静态版本的库,可以使用 x64-windows-static 

    vcpkg install zlib --triplet x64-windows-static
    

    这种方式会让 vcpkg 为指定的库使用静态编译配置。

  • 选择 Release 或 Debug 版本

vcpkg 默认安装 Release 版本的库,但你可以同时安装 Release 和 Debug 版本,或者只安装 Debug 版本。

同时安装 Release 和 Debug 版本
vcpkg install zlib --triplet x64-windows --debug

只安装 Debug 版本

vcpkg install zlib --triplet x64-windows --only-debug

综上所述,vcpkg install 命令提供了丰富的选项,让你可以灵活地选择安装的目标架构、编译类型和版本。


http://www.mrgr.cn/news/92864.html

相关文章:

  • Hadoop之02:MR-图解
  • Ollama运行各种平台的大模型(deepseek),配合AnythingLLM-UI界面使用
  • 高频 SQL 50 题(基础版)_550. 游戏玩法分析 IV
  • ZYNQ-PL实践课堂(四)IP核之RAM
  • 多Agent协作智能系统
  • C++(6)内存管理
  • 了解什么是红黑树
  • 【Linux】进程信号
  • The “Rule-of-Zero“ should be followed (s4963)
  • Hadoop之01:HDFS分布式文件系统
  • I2C驱动(十一) -- gpio模拟的i2c总线驱动i2c-gpio.c分析
  • 第一个Vue项目笔记(待更新)
  • 250301-OpenWebUI配置DeepSeek-火山方舟+硅基流动+联网搜索+推理显示
  • C语言学习笔记-初阶(19)猜数字游戏:分支、循环结构的应用
  • 大数据学习(51)-MySQL数据库学习
  • IP-----双重发布
  • ConcurrentHashMap
  • 初始化列表
  • 详解:事务注解 @Transactional
  • 安装 Open WebUI