首页 > 系统相关 >windows10下编译zlib库

windows10下编译zlib库

时间:2023-04-17 16:40:06浏览次数:54  
标签:12 CMake 1.2 CRC zlib windows10 编译 版本


系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、问题原因
  • 二、准备
  • 具体操作
  • 编译zlib工程

前言

我使用CMake编译zlib源码,出现警告:CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.
下载zlib源码:

windows10下编译zlib库_windows


找到:

windows10下编译zlib库_zlib编译_02

一、问题原因

这个警告表明,你的项目中的CMakeLists.txt文件使用了一个过时的CMake最低版本要求。为了解决这个问题,你需要更新CMakeLists.txt中的cmake_minimum_required命令,将最低版本要求设置为2.8.12或更高版本。同时,如果你的项目不需要与旧版本CMake保持兼容,可以添加一个最大版本要求。

你可以这样修改CMakeLists.txt文件中的cmake_minimum_required命令:

cmake_minimum_required(VERSION 2.8.12...<max>)

将替换为你想要指定的最大兼容版本。例如,如果你想要兼容最高到CMake 3.19,可以这样写:

cmake_minimum_required(VERSION 2.8.12...3.19)

二、准备

zlib:A Massively Spiffy Yet Delicately Unobtrusive Compression Library
(Also Free, Not to Mention Unencumbered by Patents)
(Not Related to the Linux zlibc Compressing File-I/O Library)
翻译:一个非常漂亮但又不显眼的压缩库 (也是免费的,更不用说不受专利保护了) (与 Linux zlibc 压缩文件-I/O 库无关)

目前版本
Version 1.2.13 has these key updates from 1.2.12:

Fix a bug when getting a gzip header extra field with inflateGetHeader(). This remedies CVE-2022-37434.
Fix a bug in block type selection when Z_FIXED used. Now the smallest block type is selected, for better compression.
Fix a configure issue that discarded the provided CC definition.
Correct incorrect inputs provided to the CRC functions. This mitigates a bug in Java.
Repair prototypes and exporting of the new CRC functions.
Fix inflateBack to detect invalid input with distances too far.
Due to the first bug fix, any installations of 1.2.12 or earlier should be replaced with 1.2.13.
Version 1.2.12 has these key improvements over 1.2.11:

Fix a deflate bug when using the Z_FIXED strategy that can result in out-of-bound accesses.
Fix a deflate bug when the window is full in deflate_stored().
Speed up CRC-32 computations by a factor of 1.5 to 3.
Use the hardware CRC-32 instruction on ARMv8 processors.
Speed up crc32_combine() with powers of x tables.
Add crc32_combine_gen() and crc32_combine_op() for fast combines.
You can also look at the complete Change Log.

翻译:版本 1.2.13 从 1.2.12 开始有以下关键更新:修复了使用 inflateGetHeader() 获取 gzip 标头额外字段时的错误。 这可补救 CVE-2022-37434。 修复了使用 Z_FIXED 时块类型选择中的错误。 现在选择最小的块类型,以便更好地压缩。 修复丢弃提供的 CC 定义的配置问题。 更正提供给 CRC 功能的不正确输入。 这减轻了 Java 中的错误。 修复原型并导出新的 CRC 函数。 修复 inflateBack 以检测距离太远的无效输入。 由于第一个错误修复,任何 1.2.12 或更早版本的安装都应替换为 1.2.13。 版本 1.2.12 相对于 1.2.11 有以下主要改进: 修复了使用 Z_FIXED 策略时可能导致越界访问的 deflate 错误。 修复 deflate_stored() 中窗口已满时的放气错误。 将 CRC-32 计算速度提高 1.5 到 3 倍。在 ARMv8 处理器上使用硬件 CRC-32 指令。 使用 x 表的幂加速 crc32_combine()。 添加 crc32_combine_gen() 和 crc32_combine_op() 以实现快速组合。 您还可以查看完整的更改日志。

具体操作

或者修改成:cmake_minimum_required(VERSION 2.8.12)

windows10下编译zlib库_txt文件_03


这样,当使用更新的CMake版本编译zlib源码时,不再出现关于CMake版本的警告信息。

windows10下编译zlib库_zlib编译_04


windows10下编译zlib库_windows_05

编译zlib工程

windows10下编译zlib库_CMake_06


windows10下编译zlib库_zlib_07


release版

windows10下编译zlib库_txt文件_08


debug

windows10下编译zlib库_windows_09


标签:12,CMake,1.2,CRC,zlib,windows10,编译,版本
From: https://blog.51cto.com/u_15707179/6195433

相关文章

  • Rhel7.8编译安装suricata
    Rhel7.8编译安装suricata1、安装依赖yuminstall-ylibpcap-devellibnet-develpcre-develgcc-c++automakeautoconflibtoolmakelibyaml-develzlib-develfile-develjansson-develnss-devellua-develyuminstall-yrustccargopython3git 2、下载suricata源......
  • eBPF动手实践系列一:解构内核源码eBPF样例编译过程
    作者:闻茂泉他山之石了解和掌握纯c语言的ebpf编译和使用,有助于我们加深对于eBPF技术原理的进一步掌握,也有助于开发符合自己业务需求的高性能的ebpf程序。目前常见和主流的纯c语言的ebpf编译使用方法,主要是两种。一种是内核源码中原生提供的编译方式。另外一种是libbpf-bootstrap项目......
  • Windows10系统下Hadoop和Hive环境搭建
    文章部分内容来自:https://www.cnblogs.com/sheng-sjk/p/16186508.html结合实际搭建过程中的问题,对文章进行了优化环境准备软件版本备注Windows10操作系统JDK8暂时不要选用大于等于JDK9的版本,因为启动虚拟机会发生未知异常MySQL8.x用于管理Hive的元数据......
  • golang语言下,在x86的linux平台上编译arm64二进制
    转载自:https://www.annhe.net/article-4542.html================== 编译etcd测试工具benchmark:CGO_ENABLED=0GOOS=linuxGOARCH=arm64gobuild.  概述有很多开源软件并没有提供arm安装包或者二进制,或者能通过包管理工具安装但是版本比较旧(比如Pandoc)。如果想......
  • DAPLink源码生成Keil工程并编译成功——笔记(实践篇)
    本文介绍使用DAP源码生产Keil工程的步骤。一、前期准备工作以下1~4为步骤:1.安装Python3(https://www.python.org/downloads/),并添加至路径PATH,此处忘截图了,总之看见pip、alluser、addtoPATH之类的就勾选。(网上也有些帖子说暂时不支持Python3要用Python2.7的,本人实测Pyt......
  • 2023.04.16 - TS编译之后的JS不具备校验功能
    TypeScript编译后的JavaScript文件并不具备类型检查的功能,因为JavaScript语言本身是动态类型、弱类型的,在运行时无法推断变量的类型,只能在编译时推断。而将TypeScript文件编译成JavaScript文件时,会把TypeScript中的类型声明和类型检查都去掉,只保留JavaScript代码,所以......
  • vs 2017编译bootst库
    1.下载boost源码,这里下载boost_1_69_0:boost_1_69_0.7z.2.解压后,已管理员身份打开VS2017的x86_x64兼容工具.例如我的路径是F:F://切换到F盘cdwork\C++\boost_1_69_0执行bootstrap.bat生成b2.exe执行b2.exe--toolset=msvc-14.1install--prefix="D:\Project\Boos......
  • 每天打卡一小时 第六天 编译四部曲
    书接上回求特殊方程的正整数解 第一部曲自然语言第一步建立for循环 第二步数学计算进行选择 第二部曲流程图   第三部曲伪代码(代码)#include<bits/stdc++.h>usingnamespacestd;boolcheck(autox){ if(x-(int)x==0) { return1; } else { return......
  • vue2源码-五、将模板编译解析成AST语法树2
    生成render函数前言上篇,生成ast语法树,而这篇使用ast语法树生成render函数。exportfunctioncompileToFunction(template){//1,将模板编译称为AST语法树letast=parserHTML(template);//2,使用AST生成render函数letcode=codegen(ast);}生成r......
  • windows10 安裝wsl2
    1下载wslwsl--install2下好后重启电脑,我的重启后就自动帮我下了如果没有自动下载wsl--install-dubuntu设置用户名密码4更新sudoaptupdatesudoaptupgrade按Y确认5安装WindowsTerminalPreviewWindowsTerminalPreviewsudoaptinstallwslussl......