当前位置: 首页 > news >正文

黄石市网站建设海南百度竞价排名

黄石市网站建设,海南百度竞价排名,大良网站设计,app小程序网站开发是什么文章目录 使用vcpkg管理依赖第三库vcpkg安装vcpkg经典模式使用从仓库列表搜索依赖项从某个基线版本的列表中查询某个依赖项信息安装依赖库 vcpkg清单模式的使用vcpkg清单模式的使用例子说明 使用vcpkg管理依赖第三库 vcpkg 有两种操作模式:经典模式和清单模式。 在…

文章目录

  • 使用vcpkg管理依赖第三库
    • vcpkg安装
    • vcpkg经典模式使用
      • 从仓库列表搜索依赖项
      • 从某个基线版本的列表中查询某个依赖项信息
      • 安装依赖库
    • vcpkg清单模式的使用
      • vcpkg清单模式的使用例子说明


使用vcpkg管理依赖第三库

vcpkg 有两种操作模式:经典模式和清单模式。

经典模式下,使用 vcpkg 作为命令行接口在vcpkg 安装目录中安装依赖项。 通常,位于中 %VCPKG_ROOT%/installed,其中 %VCPKG_ROOT% 是 vcpkg 的安装目录。

清单模式下,在新建项目文件夹,在名为 vcpkg.json的清单文件中声明项目的直接依赖项。此模式下,会根据清单文件生成项目自己的vcpkg_installed目录,用于安装依赖项,这与经典模式不同,经典模式的所有包都安装在公共 %VCPKG_ROOT%/installed 目录中。 因此,每个项目都可以有自己的清单和自己的一组不与其他项目的依赖项冲突的依赖项。
而且,只有清单模式才能使用高级功能,例如 版本控制自定义注册表
使用清单模式安装包,这是大多数用户推荐的工作流。

vcpkg安装

找到vcpkg的github目录

克隆到本地目录:

> git clone https://github.com/Microsoft/vcpkg

进入vcpkg目录,启动安装:

> .\vcpkg\bootstrap-vcpkg.bat

等待程序下载vcpkg.exe结束,脚本运行完毕。

这里需要注意:

1.必须用git下载vcpkg工作空间,否则项目清单模式应用时,为项目依赖库添加版本控制时,命令‘vcpkg x-update-baseline --add-initial-baseline’无法为清单文件添加基线版本。
2.windows平台使用PowerShell工具,且需要最新版本,找到PowerShell的github官网下载安装。

vcpkg经典模式使用

从仓库列表搜索依赖项

> vcpkg search zlib

从某个基线版本的列表中查询某个依赖项信息

> git show 2815578f4a3486cec24c9b07d17e18e03bbaf667:versions/baseline.json | egrep -A 3 -e '"zlib"|"fmt"|"curl"'

注意:

1.基线版本号就是vcpkg的github目录的提交记录的SHA哈希值。
2.egrep 是unix和linux中的命令,故需要在git的命令行窗口来使用。

关于基线版本号如何获取?
首先到vcpkg的github官网,然后找到commits,如下图所示
在这里插入图片描述
在commits页面,选择需要的提交版本号的SHA哈希值
在这里插入图片描述

安装依赖库

# 默认安装
> vcpkg install curl
# 安装支持OpenSSL的curl
> install curl[openssl]
# 安装支持OpenSSL和LibSHH2的curl
> install curl[openssl,ssh]

vcpkg清单模式的使用

vcpkg清单模式的使用例子说明

示例项目文件目录

hello
|  -- build/ : 项目的CMake构建目录
|  -- CMakeLists.txt : 项目的CMake文件
|  -- main.cpp
L  -- vcpkg.json : vcpkg的项目级管理清单文件

main.cpp:

#include <fmt/core.h>
#include <zlib.h>int main()
{fmt::print("fmt version is {}\n""zlib version is {}\n", FMT_VERSION, ZLIB_VERSION);return 0;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.18)project(versionstest CXX)add_executable(main main.cpp)find_package(ZLIB REQUIRED)
find_package(fmt CONFIG REQUIRED)
target_link_libraries(main PRIVATE ZLIB::ZLIB fmt::fmt)

vcpkg.json:

{"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg.schema.json","name": "hello","version": "0.0.1","description": "vcpkg study tutorial: hello","dependencies": ["fmt",{"name": "zlib","platform": "windows & x64"},{"name": "curl","platform": "windows & x64","version>=": "8.1.2","features": ["ssh",{"name": "openssl","platform": "windows & x64"}]}],"builtin-baseline": "3426db05b996481ca31e95fff3734cf23e0f51bc","overrides": [{"name": "fmt","version": "10.1.1"}]
}

构建流程:

# %VCPKG_ROOT%表示VCPKG.exe所在的根目录
> cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%/scripts/buildsystems/vcpkg.cmake
# CMake构件编译系统后,针对Visual Studio项目,需要用软件打开sln解决方案编译

说明:
使用基线添加版本约束:

# 针对vcpkg.json清单文件未添加"builtin-baseline"的情况,在清单文件所在目录运行命令:
> vcpkg x-update-baseline --add-initial-baseline

使用基线添加版本约束的含义是,基线确定了vcpkg的github仓库中各个库包的最低版本。

添加最低版本约束:
基线不是锁定包版本的唯一方法。 vcpkg 还接受形式的 **version>=**最低版本约束。

"dependencies": ["fmt",{"name": "zlib","platform": "windows & x64"},{"name": "curl","platform": "windows & x64","version>=": "8.1.2",...

强制使用特定版本:
在某些情况下,可能需要强制使用特定版本的包,例如:

  • 解决版本冲突。
  • 锁定早于基线的版本。
  • 锁定其他无法比拟的版本,例如: vista、 xp。
...
"overrides": [{"name": "fmt","version": "10.1.1"}]
...

关于使用基线添加版本约束添加最低版本约束强制使用特定版本三者的关系:
见示例:

{"dependencies": [{"name": "fmt","version>=": "10.1.1"},"zlib"],"builtin-baseline": "3426db05b996481ca31e95fff3734cf23e0f51bc", "overrides": [{ "name": "zlib", "version": "1.2.8"}]
}

3426db05b996481ca31e95fff3734cf23e0f51bc使用基线添加版本约束:

  • fmt:“version>=”: “7.1.3”
  • zlib:“version”:“1.2.11”

添加最低版本约束:

  • fmt:“version>=”: “10.1.1”

强制使用特定版本:

  • zlib:“version”:“1.2.8”

安装时,fmt最终采用了添加最低版本约束,zlib最终采用了强制使用特定版本
说明:强制使用特定版本有最高优先级,使用基线添加版本约束强制使用特定版本的版本低时,使用强制使用特定版本

http://www.hyszgw.com/news/5821.html

相关文章:

  • 做网站很火的APP日结app推广联盟
  • 网站设计过程百度推广网站
  • 做网站学专业seo优化公司
  • 我们网站在那里登陆后台系统管理网站推广怎么做
  • 广东建网站郑州百度推广开户
  • 做网站学什么软件sem竞价培训
  • dw学生个人网页制作视频seo扣费系统
  • 基于.net的动态网站开发百度网盘官网入口
  • 个人网站备案内容描述金华seo扣费
  • ipad wordpress如何优化搜索关键词
  • 洛阳公司青峰做的企业网站营销渠道
  • 上海公司注册网站aso搜索排名优化
  • 网站策划建设阶段的推广市场调研公司
  • 极速时时彩网站建设网站设计制作培训
  • 国际转运网站建设重庆百度推广排名
  • 南宁建站软件搜索引擎推广有哪些
  • 2o17甘孜建设网站seo关键词布局
  • 在线外链工具wifi优化大师下载
  • 传统的网站开发模式成都网络运营推广
  • 网站建设服务费税率多少钱2024小学生时事新闻十条
  • 什么响应式网站今天的头条新闻
  • 做网站的工具怎么联系百度人工客服
  • 模板网站建设公司哪个好如何修改百度上面的门店号码
  • 电子商务网站建设规划方案东莞疫情最新通知
  • 设计师网站都有哪些做网站公司
  • 网站备案详细流程网络广告营销有哪些
  • 做网站会遇到哪些问题培训学校机构
  • 网站的报价怎么做计算机基础培训机构
  • 网站内容建设和运营工作内容百度数据研究中心官网
  • wordpress软件根目录在哪里提升seo排名平台