Vcpkg安装

本文介绍了在Windows开发环境中,如何使用vcpkg进行C++第三方库的管理,包括联网机器上的安装步骤、离线机器的安装技巧,以及如何集成vcpkg到VisualStudio。还列举了vcpkg安装常用库如Boost、CGAL、OpenCV等的命令。
摘要由CSDN通过智能技术生成


一、概况

    在平常的学习环境中,我们通常使用VS在windows下进行C++开发。在测试第三方库的时候,只需包含第三方库的头文件、链接第三方库的库文件,即可在项目中引入C++引入第三方库。然而在工作环境中,依赖的第三方库的数量上来后,这种方式缺点是明显的,一是C++代码可以跨平台但依赖库无法跨平台,二是依赖库管理非常凌乱。在linux环境下,有自带的apt来进行库管理,而windows下,则有vcpkg来解决库管理的难题。为了方便后续工作对接,记录下来vcpkg的安装过程。

    开发环境:Windows10 VS2022


二、联网机器安装vcpkg

1、下载vcpkg
    新建一个文件夹vcpkg,在该目录下用git Bash检出

git clone https://github.com/microsoft/vcpkg

2、安装vcpkg
    打开VS2022的PowerShell,跳转到刚检出的vcpkg根目录,注意不要用错成cmd

./bootstrap-vcpkg.bat


三、离线机器安装vcpkg

1、下载vcpkg
    在上网机器上下载好一个稳定版本的vcpkg,比如vcpkg-2023.06.20,拷贝到本地解压

2、安装vcpkg
    打开VS2022的PowerShell,跳转到vcpkg根目录,运行./bootstrap-vcpkg.bat,发现报错,因为这个脚本会调用bootstrap.ps1,这个脚本要联网下载vcpkg.exe,需要绕过下载,才可以成功安装。
    在编辑器里打开bootstrap.ps1,搜索$versionDate,可以看见类似如下代码

$versionDate = '2023-06-15'
if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64' -or $env:PROCESSOR_IDENTIFIER -match "ARMv[8,9] \(64-bit\)") {
    & "$scriptsDir/tls12-download-arm64.exe" github.com "/microsoft/vcpkg-tool/releases/download/$versionDate/vcpkg-arm64.exe" "$vcpkgRootDir\vcpkg.exe"
} else {
    & "$scriptsDir/tls12-download.exe" github.com "/microsoft/vcpkg-tool/releases/download/$versionDate/vcpkg.exe" "$vcpkgRootDir\vcpkg.exe"
}

    其中versionDate的值表示要下载的vcpkg.exe的版本,下载对应版本的vcpkg.exe放到vcpkg的根目录,比如https://github.com/microsoft/vcpkg-tool/releases/download/2023-06-15/vcpkg.exe,在将&开头的两行用#注释掉,重新运行./bootstrap-vcpkg.bat,安装成功


四、更新vcpkg

    如果开发环境是离线的,建议就不要折腾更新vcpkg了,项目用一个稳定版本就好,在学习环境下可以更新vcpkg测试最新支持的包
    1、到vcpkg根目录下 git pull
    2、重新 ./bootstrap-vcpkg.bat
    3、在PowerShell里跳转到vcpkg根目录下 vcpkg update


五、vcpkg集成VS使用

    1、集成到全局

vcpkg integrate install


    2、移除集成

vcpkg integrate remove


六、vcpkg安装常用库

    1、boost

vcpkg install boost:x64-windows

    2、cgal
    直接在vcpkg上安装cgal有bug,安装cgal前需要先安装yasm(cgal官网说的)

yasm-tool:vcpkg install yasm-tool:x86-windows
vcpkg install cgal:x64-windows

    3、opencv
    4、freetype
    5、jsoncpp
    6、poco
    7、spdlog
    8、tesseract

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值