Vcpkg 的安装与使用
需求
先确保你已经安装了:
- Windows7 及以上的版本
- Git
- Visual Studio 2015 Update 3 及以上的版本
关于美化 Windows Terminal 及 Powershell,可以查看这篇优秀文章: Windows-Terminal 美化以及通过 OhMyPosh 美化 PowerShell
为 Visual Studio 安装英文语言包
vcpkg 需要 Visual Studio 安装了英文语言包,安装步骤如下:
- 打开 Visual Studio Installer,然后点击修改
- 然后点击语言包,勾选英语并确认修改,等待安装完成即可
安装 Vcpkg
先克隆 vcpkg,目录任意位置都可,我克隆到 D:\Library 下,这样做包管理会很方便
然后进入到 vcpkg 目录,执行安装脚本 bootstrap-vcpkg.bat
-
cd vcpkg
-
.\bootstrap-vcpkg.bat
或者直接执行:
.\vcpkg\bootstrap-vcpkg.bat
安装包
在 vcpkg 目录下,执行
.\vcpkg.exe search 包名称
可以搜索你需要安装的包的信息
下面以搜索 openssl 为例:
.\vcpkg.exe search openssl
确认有你需要安装的包之后,通过
.\vcpkg.exe install 包名称
即可安装包
下面还是以安装 openssl 为例:
.\vcpkg.exe install openssl
,第一次安装 vcpkg 会先安装 cmake、git 等依赖,同时安装包还需要编译,需要耐心等待
指定安装架构
vcpkg 默认安装的是 x86-windwows 架构的包,当我们需要指定安装 x64 或者是静态库的时候,需要在包名后面跟上具体安装方式。以安装 libevent 为例:使用
.\vcpkg.exe install libevent:x64-windows libevent:x64-windows-static
,安装的是 x64 版本的 libevent 和 x64 版本的 libevent 静态库
通过
.\vcpkg.exe help triplets
可以查看支持的安装方式
查看已安装的包
使用
.\vcpkg.exe list
可以列举已经安装的包
libevent、openssl、opencv、protobuf、grpc、jsoncpp、nlohmann-json 都是比较一些比较常用的包,有需要的可以安装
集成 Visual Studio
要在 Visual Studio 中使用 Vcpkg,需要输入:
.\vcpkg.exe integrate install
(首次执行需要在管理员权限下执行,就是使用管理员权限打开 powershell)
CMake 项目中使用 vcpkg
cmake 项目建议通过以下方式使用 vcpkg (不要全局导入 vcpkg,别人不知道你在做什么)
通过指定 cmake 工具链实现将 vcpkg 作为一个自模块加入到你的 CMake 工程中,需要注意的是,使用 Mingw 需要额外的设置。下面是 CMakeList 的模版,添加到你的工程就可以使用了。
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
# setting vcpkg toolchain file
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake
CACHE STRING "Vcpkg toolchain file")
if (MINGW) # if mingw