源码

编译libzip需要依赖zlib的库

zlib和libzip的git代码:

https://github.com/madler/zlib.git

https://github.com/nih-at/libzip.git

他们通过cmake进行编译,官方的readme和install知道我们的编译安装方式为:

mkdir build cd build cmake .. make make test make install

这里的方式大概是建一个build的目录,然后将cmake的结果放在build里,然后make编译。

Windows编译方式

在windows上进行编译,支持有两种方式:

  • gnu环境
  • window环境,转化成sln组织工程

gnu环境编译同上。

用vs进行编译

可以参考这个:

https://blog.csdn.net/weixin_33831196/article/details/90305366

中间有一部分

cmake .. -G"Visual Studio 15 2017" -DCMAKE_PREFIX_PATH="../zlib/build/install"

然后我改掉了之后,后面的cmake默认都变成了Visual Studio的方式了。。。

是用cmake -G 可以查看所有的编译

使用mingw进行编译

因为我是用mwing单独编译的zlib的库,所以有个问题我只编译zlib并没有安装(也不想安装)。整体的思路readme一样

按照步骤操作,cmake ..的时候碰到了ZLIB_INCLUDE_DIR找不到的问题。

看上下文 cmake .. 找到上一级的CMakeList.txt,而且build目录也有个CMakeList.txt。所以考虑是不是这里的CMakefile是从上一级来的

看到build里面有句

ZLIB_INCLUDE_DIR:PATH=ZLIB_INCLUDE_DIR-NOTFOUND

从上一级的CMakeList.txt找到这么两句

I

NCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) SET(CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIR})

暂时没看出来什么问题

把ZLIB_INCLUDE_DIR:PATH=改成对应目录在执行cmake的时候makefile就出来了(如果这个项找不到会自动生成,但生成过修改了却不会自动更新)。虽然有一堆别的Lib找不到,但不影响编译。

编译make

接着编译makefile。但是会找不到zlib的库的连接,把库的链接单独加到makefile里

但会提醒找不到一个头文件bcrypt.h。这个文件是一堆加密库的定义。因为vs环境过了,所以vs里的Windows API kit的头文件肯定有这个文件,一开还真的有。但是不能天真的复制过来。

最后还是把这个里的内容复制过去放在mingw的系统include里(甚至有怀疑是不是我mingw版本不够)

https://searchcode.com/codesearch/view/18140805/

但是接着编译还是会发现边报错,原因还是少几个定义。这时候从vs的开发包里的这个文件的定义直接复制过去吧。

然后关于这个就不报错了。

但是接着发现了另一个问题,提示没有random函数,查看了一下这个文件应该在stdlib.h这个头文件里。

然后查阅了mingw的stdlib.h发现并没有这个函数,但是有一个叫做rand和srand的函数。所以。。。把libzip源代码里的这两个函数名改一下就可以了。

再次编译,就发现编译成功,并生成了库。

但是使用make test会发现一堆fail,还没有找到啥毛病。

windows下编译libzip库相关推荐

  1. windows下编译skia库

    windows下编译skia库 环境需求: 1.安装python2.7.x: python3系列可能又某些库不支持,所以推荐使用python2.7.15(最新). 如何检查是否安装python: 1. ...

  2. C++ Boost库:windows下编译Boost库

    文章目录 1. 需要编译的boost库 2. 编译步骤 3. 库命名规则 4. VS配置库目录 C++ Boost库:简介和第一个示例程序 C++ Boost库:数值转换 lexical_cast C ...

  3. Windows下编译openssl库

    1.概述 OpenSSL是一个开放源代码的软件库包,它实现了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)协议,所以应用程序可以使用这个 ...

  4. Windows下编译boost库

    需要编译的boost库 以下的库必须单独编译: Boost.Chrono Boost.System Boost.Context Boost.ProgramOptions Boost.Filesyste ...

  5. windows下编译bootst

    在Windows下编译boost库时,参考网上文章:https://blog.csdn.net/zengraoli/article/details/70187556时报错,原来是按照博主文章编译时,在 ...

  6. Windows下编译tensorflow-gpu教程

    这两个也要看: https://zhuanlan.zhihu.com/p/29029860 https://zhuanlan.zhihu.com/p/34942873 Windows下编译tensor ...

  7. Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序

    参考:https://www.cnblogs.com/jliangqiu2016/p/7642471.html Windows下编译TensorFlow1.3 C++ library及创建一个简单的T ...

  8. 如何在Windows下编译OpenSSL?

     OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  9. windows下编译支持https的curl

    先编译好openssl,过程详见:<windows下编译openssl> 编译好zlib,过程详见<windows下编译zlib> 1. 下载curl 官网:https://c ...

最新文章

  1. Dropout 的前世与今生
  2. 独家 | 感悟注意力机制
  3. OCP12C题库,62数据库备份与恢复(admin,install and upgrade accelerated, backup and recovery workshop -62)(新增)
  4. void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)的一些理解
  5. lgg7深度详细参数_深度学习平均场理论第七讲:Batch Normalization会导致梯度爆炸?...
  6. php多进程有什么用,有关php多进程的用法举例
  7. CSS 布局实例系列(四)如何实现容器中每一行的子容器数量随着浏览器宽度的变化而变化?...
  8. 科大奥锐实验报告霍尔效应_大学物理实验报告系列之霍尔效应
  9. android gif转jpg格式文件,android使用多张图片合成gif文件
  10. 22.C++- 继承与组合,protected访问级别
  11. 知乎:全球发售2600万股销售股份 每股发售价51.8港元
  12. 【sklearn】有关数据归一化小结---fit_transform、fit、transform区别及其简单使用
  13. Redis核心知识点总结(一万五千字,请耐心读完)
  14. STM32学习——矩阵键盘
  15. 秦九韶算法如何应用到计算机,秦九韶算法
  16. Crumb -面包屑状的嵌套按钮
  17. 真实机下 ubuntu 18.04 安装anaconda+cuDNN+pytorch以及其版本选择(亲测非常实用)
  18. idea 配置web项目图片无法显示问题
  19. linux sata驱动加载硬盘顺序,linux安装前必备知识
  20. AcWing:Dijkstra

热门文章

  1. 通过MODBUS转ETHERNET IP网关将变送器接入AB PLC
  2. 教师资格证证件照要求来了!注意照片不要卡审
  3. Spring——七大核心模块
  4. 商品分类列表功能实现php,【图片】B2B2C系统如何实现商品分类功能【thinkphp吧】_百度贴吧...
  5. 网络怎么改变计算机,怎么更改电脑上网IP地址
  6. CDISC的ADaMIG (V1.2) 中英文对照【4】_第四章(下)实施问题,标准解决方案和示例
  7. 博达站群链接使用注意事项
  8. CCR炒币机器人:熊市时,你该做些什么?
  9. 鲸会务现场提问上线,大屏互动功能更全面
  10. IT计算机行业程序员职业发展路线图(完整版+珍藏版)