Vcpkg 的安装与使用

2022-01-12 09:11:17 浏览数 (1)

需求

先确保你已经安装了:

  • 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

或者直接执行:.vcpkgbootstrap-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 的模版,添加到你的工程就可以使用了。

代码语言:javascript复制
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 补全

0 人点赞