当前位置: 首页 > 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 命令提供了丰富的选项,让你可以灵活地选择安装的目标架构、编译类型和版本。

相关文章:

  • 从零搭建微服务项目Pro(第1-3章——Quartz定时任务模块整合)
  • Perl 调用 DeepSeek API 脚本
  • 云原生监控篇——全链路可观测性与AIOps实战
  • 安装即是高级版!专业版软件,
  • Hadoop之01:HDFS分布式文件系统
  • Xshell及Xftp v8.0安装与使用-生信工具050
  • 【AI学习从零至壹】pytorch基础
  • Linux安装Apache2.4.54操作步骤
  • 前端js搭建(搭建后包含cookie,弹窗,禁用f12)
  • onerror事件的理解与用法
  • 【人工智能】GPT-4 vs DeepSeek-R1:谁主导了2025年的AI技术竞争?
  • 对大模型输出的 logits 进行处理,从而控制文本的生成
  • Java---入门基础篇(下)---方法与数组
  • C++类和对象:匿名对象及连续构造拷贝编译器的优化
  • Windows下git疑难:有文件无法被跟踪
  • FPGA开发,使用Deepseek V3还是R1(1):应用场景
  • openssl下aes128算法CFB模式加解密运算实例
  • 【自学笔记】大数据基础知识点总览-持续更新
  • 机器视觉3D偏光法原理解析
  • Oracle 数据库基础入门(四):分组与联表查询的深度探索(上)
  • html5 css3网站实例设计报告/seo优化专家
  • 前端网页/seo服务价格表
  • 做网站最主要是那个一类商标/百度指数网页版
  • 国外做免费的视频网站有哪些/互联网舆情
  • 合肥网站建设第一品牌/网站运营培训学校
  • 武汉网站排名提升/哈尔滨网络seo公司