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

网站安全建设目的西安个人做企业网站

网站安全建设目的,西安个人做企业网站,网站信息系统,网页网页游戏文章目录 使用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.yayakq.cn/news/180762/

相关文章:

  • 如皋做公司网站哪里有专门做gif的网站
  • 域名注册后怎么建设网站长春自主建站模板
  • 网站开发指什么乔家孕事(限) 17模板网
  • 脚本外链平台百度seo学院
  • 如何在别人网站挂黑链网站优化推广seo公司
  • 青岛 html5flash设计开发|交互设计|网站建设建设工程安全员教育网站
  • 做网站鼠标移动 链接变颜色如何建立自己的公众号
  • 无锡网站推广公司网店培训
  • 网站建设的总结做淘宝网站多少钱
  • 北京网站优化 卓立海创关于网站建设的策划案
  • 北京响应式h5网站开发上海最近三天的新闻
  • 已有网站如何做直播能制作网页的软件是
  • 淮南服装网站建设费用wordpress 标签云样式
  • 51网站统计客户管理系统在哪进入
  • 做网站页面怎么做什么叫国际互联网
  • jsp做的网站代码网站集约化建设通知
  • 1688网站特点租云服务器一个月多少钱
  • 太原优化型网站建设成都文创产品设计公司
  • 电子商务网站设计小结怎么样做长久的电影网站
  • 学网站开发首先学哪些基础wordpress手机版使用
  • 做详情页哪个网站好一个企业网站多少钱
  • 设计师个人网站主页上海智能网站建设
  • 自己做网站要钱么免费域名空间注册
  • 企业营销网站制作深圳做外贸网站的公司
  • 网站网站建设企业wordpress 插件数据
  • 网站建设频教程百度搜索引擎关键词
  • 事业单位网站开发工作规程公司网页制作教程
  • 网站开发项目报告网站建设的空间选择
  • 优惠券网站做代理怎么样哪个网站可以做拼图
  • 石家庄专门做网站wordpress 主题制作视频