主页 > 人工智能  > 

vcpkg与CMake集成的步骤

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

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

# 克隆 vcpkg 仓库 git clone github /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 支持多种目标架构,包括 x86、x64 等。你可以通过指定 --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 命令提供了丰富的选项,让你可以灵活地选择安装的目标架构、编译类型和版本。

标签:

vcpkg与CMake集成的步骤由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“vcpkg与CMake集成的步骤