vs install

需求

先确保你已经安装了:

  • Windows7 及以上的版本
  • Git
  • Visual Studio 2015 Update 3 及以上的版本

关于美化 Windows Terminal 及 Powershell,可以查看这篇优秀文章: Windows-Terminal 美化以及通过 OhMyPosh 美化 PowerShell

为 Visual Studio 安装英文语言包

vcpkg 需要 Visual Studio 安装了英文语言包,安装步骤如下:

  • 打开 Visual Studio Installer,然后点击修改

vi

  • 然后点击语言包,勾选英语并确认修改,等待安装完成即可

english

安装 Vcpkg

先克隆 vcpkg,目录任意位置都可,我克隆到 D:\Library 下,这样做包管理会很方便

clone vcpkg

然后进入到 vcpkg 目录,执行安装脚本 bootstrap-vcpkg.bat

  • cd vcpkg

  • .\bootstrap-vcpkg.bat

或者直接执行:.\vcpkg\bootstrap-vcpkg.bat

bat

安装包

在 vcpkg 目录下,执行 .\vcpkg.exe search 包名称 可以搜索你需要安装的包的信息

下面以搜索 openssl 为例:.\vcpkg.exe search openssl

search openssl

确认有你需要安装的包之后,通过 .\vcpkg.exe install 包名称 即可安装包

下面还是以安装 openssl 为例:.\vcpkg.exe install openssl,第一次安装 vcpkg 会先安装 cmake、git 等依赖,同时安装包还需要编译,需要耐心等待

install openssl

指定安装架构

vcpkg 默认安装的是 x86-windwows 架构的包,当我们需要指定安装 x64 或者是静态库的时候,需要在包名后面跟上具体安装方式。以安装 libevent 为例:使用.\vcpkg.exe install libevent:x64-windows libevent:x64-windows-static,安装的是 x64 版本的 libevent 和 x64 版本的 libevent 静态库

通过 .\vcpkg.exe help triplets 可以查看支持的安装方式

arch

查看已安装的包

使用.\vcpkg.exe list 可以列举已经安装的包

libevent、openssl、opencv、protobuf、grpc、jsoncpp、nlohmann-json 都是比较一些比较常用的包,有需要的可以安装

list

集成 Visual Studio

要在 Visual Studio 中使用 Vcpkg,需要输入:.\vcpkg.exe integrate install (首次执行需要在管理员权限下执行,就是使用管理员权限打开 powershell)

vs install

CMake 项目中使用 vcpkg

cmake 项目建议通过以下方式使用 vcpkg (不要全局导入 vcpkg,别人不知道你在做什么)

通过指定 cmake 工具链实现将 vcpkg 作为一个自模块加入到你的 CMake 工程中,需要注意的是,使用 Mingw 需要额外的设置。下面是 CMakeList 的模版,添加到你的工程就可以使用了。

1
2
3
4
5
6
7
8
9
10
11
12
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
# setting vcpkg
if (DEFINED ENV{VCPKG_DEFAULT_TRIPLET} AND NOT DEFINED VCPKG_TARGET_TRIPLET)
set(VCPKG_TARGET_TRIPLET "$ENV{VCPKG_DEFAULT_TRIPLET}" CACHE STRING "")
endif ()
endif ()
endif ()

自动补全

.\vcpkg integrate powershell 即可开启 tab 补全

Tab