【vcpkg】安装与使用

news/2025/2/7 10:07:21/文章来源:https://www.cnblogs.com/SHUN-ReRound/p/18702125

【vcpkg】安装与使用

安装

mkdir /path/to/vcpkg_dir
cd /path/to/vcpkg_dir
git clone https://github.com/microsoft/vcpkg
cd vcpkg
./bootstrap-vcpkg.bat

更新 vcpkg

cd /path/to/vcpkg_dir/vcpkg
git pull

卸载 vcpkg

若要卸载 vcpkg,只需删除 vcpkg 目录。 删除此目录会卸载 vcpkg 分发以及 vcpkg 已安装的所有库。

但是,如果已执行 vcpkg integrate install,则应执行 vcpkg integrate remove 来确保在删除文件夹之前已清理集成 。

使用

命令

Command 描述
vcpkg search [pat] 搜索可安装的包
vcpkg install <pkg>... 安装包
vcpkg remove <pkg>... 卸载包
vcpkg remove --outdated 卸载所有过期包
vcpkg list 列出已安装的包
vcpkg update 显示用于更新的包列表
vcpkg upgrade 重新生成所有过期包
vcpkg hash <file> [alg] 通过特定算法对文件执行哈希操作,默认为 SHA512
vcpkg integrate install 使已安装包在用户范围内可用。 首次使用时需要管理权限
vcpkg integrate remove 删除用户范围的集成
vcpkg integrate project 为使用单个 VS 项目生成引用 NuGet 包
vcpkg export <pkg>... [opt]... 导出包
vcpkg edit <pkg> 打开端口进行编辑(使用 %EDITOR%,默认为“code”)
vcpkg create <pkg> <url> [archivename] 创建新程序包
vcpkg cache 列出缓存的已编译包
vcpkg version 显示版本信息
vcpkg contact --survey 显示联系信息,以便发送反馈。
vcpkg help triplet 查看支持平台

选项

选项 描述
--triplet <t> 指定目标体系结构三元组。 (默认:%VCPKG_DEFAULT_TRIPLET%,另请参阅 vcpkg help triplet
--vcpkg-root <path> 指定 vcpkg 根目录(默认:%VCPKG_ROOT%

集成vcpkg

cd /path/to/vcpkg_dir/vcpkg
./vcpkg integrate install

输出

PS E:\repos\VC\vcpkg> vcpkg integrate install
Applied user-wide integration for this vcpkg root.
CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=E:/repos/VC/vcpkg/scripts/buildsystems/vcpkg.cmake"All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.

删除 vcpkg 集成

cd /path/to/vcpkg_dir/vcpkg
./vcpkg integrate remove

单独使用 CMake, 不使用 VS

环境变量

# 为了方便使用可以建立一些环境变量
# vcpkg 的安装目录
VCPKG_ROOT = /path/to/vcpkg# vcpkg 集成后的工具链
VCPKG_TOOLCHAIN_FILE = %VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake# 指定默认安装平台
VCPKG_DEFAULT_TRIPLET = x64-windows

cmakelists.txt 配置

# 集成 vcpkg 后在 project() 之前添加
# 如果使用 VS ,就不需要添加
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_TOOLCHAIN_FILE}" CACHE STRING "")
...
project(...)
...

示例

安装 jsoncpp

# 使用指令:vcpkg help triplet 可以看到都支持什么平台。
vcpkg help triplet# 下载某一个平台的包(未指定默认)
vcpkg install jsoncpp:x64-windows
# 下载某一个平台的包(指定默认)
vcpkg install jsoncpp# 删除库
vcpkg remove jsoncpp
# 注意:
# 这个时候只是移除了默认的x86-winodws版本的文件,如果有其他平台的版本需要移除,需要制定相应的triplet

升级包

# 列出需要升级的包
vcpkg upgrade # 执行升级操作
vcpkg upgrade --no-dry-run

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/879966.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用多项式回归分析简单投掷数据-训练投石机数据预测模型

用多项式回归分析简单投掷数据 进阶实验:训练投石机数据预测模型 问题描述:(1)投掷角度不变,已知电机速度,如何得出实际投掷距离?(2)其电机速度(motor_speed)和投掷距离(distance)的对应关系有什么关系? 投掷角度不变,电 机速度与投掷距离 的数据集展示: 学习:i可以通过…

css背景模糊效果

下面是效果下面是实现代码<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta http-equiv="X-…

线性回归模型训练-训练温度传感器数据预测模型

基础实验:训练温度传感器数据预测模型 任务描述:LM35是科创作品制作中常用的温度传感器(1)已知电压值, 如何得出实际温度值?(2)输出电压(Sensor)和真实温度(Temperature)有什么关 系?请借助大模型生成这两列数据的关系图 /目录学习:可以通过机器学习,训练传感器数据预测模型…

【分享】银行业如何实现内外网文件传输,保持核心竞争力?

数据要素是数字经济的重要基石,也是国家经济安全的关键要素。银行业数据因其数据体量大、数据类型多、涉及主体庞大及应用场景复杂等天然特征,在数据流转上面临风险和挑战,包括法律法规层面、安全层面、效率层面等。为响应和落实国家层面对于金融行业网络安全的建设要求,同…

SMT32的HEX文件里加入固件版本的方法(转)

使用MDK编译器,让STM32程序HEX文件中加入固件版本信息。 代码代码如下: //------------------------------------------------------------------------------#include <absacc.h>//------------------------------------------------------------------------------#d…

uniapp 自定义tabBar组件 custom-tab-bar

custom-tab-bar 自定义tabBar组件。 在小程序和App端,为提升性能,在 pages.json 里配置固定的原生tabBar。但在H5端,这一设计并不会提升性能。 同时,H5端尤其是PC宽屏,对tabBar的位置和样式有更灵活的需求,tabBar作为一级导航,更多的时候是在PC网页顶部而不是底部。 自定…

无法连接/访问 Linux虚拟的中的端口(Redis)

Could not connect to Redis at 192.168.137.132:6379: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。当出现 “Could not connect to Redis at 192.168.137.132:6379: No route to host” 错误,意味着客户端无法找到通往 Redis 服务器(IP 为 192…

钉钉发送告警(非@)

环境: OS:Centos 7 python:2.7[root@yunwei-zabbix-1000001-prd alertscripts]# more dingtalk_middleware.py #!/usr/bin/env python #-*- coding: utf-8 -*-import sys, json, urllib2def Dingtalk(message):content = messageurl = "https://oapi.dingtalk.com/robot/…

为GitLab配置Microsoft Graph作为邮件收发工具

先决条件Microsoft/Office 365订阅(Exchange是必须的)并添加一个gitlab专用的账户,本文使用E5开发者订阅 部署好的GitLab,参考上一篇文章步骤一、 配置Microsoft Entra 1. 注册应用程序 登录Azure门户,进入Microsoft Entra ID,选择管理-应用注册-新注册填写你想要的名称,…

C# 深度学习框架 TorchSharp 原生训练模型和图像识别-自定义网络模型和识别手写数字

目录使用 Torch 训练模型定义神经网络加载数据集创建网络模型定义损失函数训练识别手写图像 教程名称:使用 C# 入门深度学习 作者:痴者工良 教程地址:https://torch.whuanle.cn 电子书仓库:https://github.com/whuanle/cs_pytorch Maomi.Torch 项目仓库:https://github.co…

ZW3D二次开发_入门_Action与Ribbon菜单定制--转自 知乎 捣蛋龙

ZW3D二次开发_入门_Action与Ribbon菜单定制捣蛋龙 ​关注他5 人赞同了该文章​ 目录收起ZW3D二开入门目录 - 知乎 (zhihu.com)最新测试环境:2025 SP前言定制Ribbon菜单1.新建工作区2.定义"行为"3.定义自定义Ribbon文件4.编写策略文件5.编写引导程序6.多环境差异化策…