"libzipp" 这库是基于 "libzip" 之上封装的,而 "libzip" 又是基于 "zlib"库封装的,所以要编译 "libzipp" 库就要先编译其他两个库。
下载准备:
"zlib-1.2.8.tar.gz"
"libzip-1.0.1.tar.gz"
"libzippp-master.zip"

编译环境:cmake + vs2013 ,   安装好cmake和 "VS2013 x86 本机工具命令提示" 工具(安装vs2013的时候已经有)
命令行环境使用的是[VS2013 x86 本机工具命令提示],“开始”->"Visual Studio 2013"->"Visual Studio Tools"->"VS2013 x86 本机工具命令提示"

以下是本次编译过程,记录详细流程以备忘:

一、编译 zlib 库
1、将解压出来的 "zlib-1.2.8" 文件夹拷贝到 "E:\BuildWorkspace\" ;
2、命令行进入此路径,命令:[mkdir build] (创建 build 文件夹) ;
3、进入刚创建的"build"文件夹,命令:[cmake .. -G"Visual Studio 9 2008" -DCMAKE_INSTALL_PREFIX="install"]  (构建工程)
4、在"build"目录下就有了工程文件,打开工程,编译"ALL_BUILD"项目生成库文件,编译"INSTALL"项目,会执行工程目录下的"cmake_install.cmake"脚本,最终在"build"目录下生成"install"文件夹,头文件、库文件等都在文件夹内了。

二、编译 libzip 库
1、将解压出来的"libzip-1.0.1"文件夹拷贝到"E:\BuildWorkspace\" ;
2、命令行进入此路径,命令:[mkdir build] (创建 build 文件夹) ;
3、进入刚创建的"build"文件夹,命令:[cmake .. -G"Visual Studio 9 2008" -DCMAKE_PREFIX_PATH="../zlib-1.2.8/build/install"]  (构建工程)
4、在"build"目录下就有了工程文件,打开工程,编译"ALL_BUILD"项目,到这里就报错了(最少我在这里是报错了) ;
5、将"libzippp-master\lib\libzip-1.0.1-windows-patch.zip"的压缩文件解压出来,根据同名文件夹替换掉相应的文件,在执行第4步,OK ;
6、此时如果直接编译"INSTALL"项目,会生成到C盘根目录下"C:/Program Files (x86)/libzip"文件夹中,为了让它生成到"build\install"中,这里需要修改工程目录下的"cmake_install.cmake"脚本文件的第5行:
"set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/libzip")" 改成
"set(CMAKE_INSTALL_PREFIX "E:\BuildWorkspace\libzip-1.0.1\build/install")",
7、编译"INSTALL"->OK ;

三、编译 libzippp 库
1、将解压出来的"libzippp-master"文件夹拷贝到"E:\BuildWorkspace\" ;(PS:上面编译 libzip 库中的第五步就是在从此文件夹中找的"libzippp-master\lib\libzip-1.0.1-windows-patch.zip")
2、命令行进入此路径,命令:[mkdir build] (创建 build 文件夹) ;
3、为了方便 libzippp 项目的依赖关系,懒得修改,直接按照作者意思,把上面的 "libzip-1.0.1" 和 "zlib-1.2.8" 文件夹整个拷贝到 "E:\BuildWorkspace\libzippp-master\lib\" 目录中(当前,前提是已经完成了上面的编译工作);
4、进入刚创建的"build"文件夹,命令:[cmake .. -G"Visual Studio 12" -DCMAKE_PREFIX_PATH="lib/zlib-1.2.8/build/install"] (构建工程)
5、在"build"目录下就有了工程文件,打开工程,编译"ALL_BUILD"项目,OK!

PS:实测,用vs2008使用这库会有问题(可能是因为是用vs2013编译的缘故),后来干脆直接使用 libzippp 的类文件,不编译成库使用,OK!

zlib、libzip、 libzippp 库编译(windows + cmake + vs2013)的更多相关文章

  1. jpeg库编译 - windows平台

    一.准备: 下载最新的jpeg库源码:http://www.ijg.org/files/jpegsr9a.zip二.编译 1. 解压到指定目录 2. 打开VS2010命令行窗口(为了得到VS2010的 ...

  2. zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板

    前言   Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下.   版本编译引导 zlib在windows上的mingw32 ...

  3. 判断OpenCV是否为共享库,Windows基于CMake编译Caffe需要opencv共享库

    判断OpenCV是否为共享库,Windows基于CMake编译Caffe需要opencv共享库 TLDR 只考虑windows下opencv预编译包的情况. 对于opencv2.4.x系列,cmake ...

  4. windows zlib库编译步骤

    下载地址 http://www.zlib.net/ 动态库下载地址 如果自己实在不想编译的,可以直接下载 https://download.csdn.net/download/zhangxuechao ...

  5. 基于TDengine-ver-1.6.4.4在windows 10下cmake+msys2编译(windows cgo 使用)

    目录 基于TDengine-ver-1.6.4.4在windows 10下cmake+msys2编译(windows cgo 使用) 背景 下载地址 仓库地址 安装部署 msys2 安装 配置环境变量 ...

  6. windows下编译nginx+nginx_rtmp_modue(vs2013)

    阅读官方编译windows版本的方法 http://nginx.org/en/docs/howto_build_on_win32.html 我的环境 Windows 7 Ultimate 64,Vis ...

  7. go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2]

    go 工具链目前[不支持编译 windows 下的动态链接库][1],不过[支持静态链接库][2].想要产生dll,可以这样 workaround ,参考 golang [issuse#11058][ ...

  8. cmake 编译windows程序

    cmake 编译windows程序 cmake 编译windows程序 cmake 编译windows程序 尽量使用  尽量使用 尽量使用 https://www.cnblogs.com/liujia ...

  9. FFmpeg笔记:使用MSVC工具链编译Windows版本静态库、动态库

    2019年3月开始,为了将音视频编解码功能集成到Cocos2d-x中,开始接触到FFmpeg: 当时开发环境还在Mac下,编译FFmpeg相比现在用Windows平台要方便的多: 最近,公司内部有个U ...

随机推荐

  1. 36-应用Jwtbearer Authentication

    新建.net core webapi项目 E:\coding\netcore>dotnet new webapi --name JwtAuthSample 创建需要用到的实体对象类 namesp ...

  2. 25-IHostEnvironment和 IApplicationLifetime介绍

    //类似 global.ashx的application事件的实现1-Startup类中 public void Configure(IApplicationBuilder app, IHosting ...

  3. java线程安全(单例模式)(转载)

    原文链接:http://www.jameswxx.com/java/%E8%AF%B4%E8%AF%B4%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/ 单例模式?多么简单! ...

  4. Python logging 模块简介

    Table of Contents 1. Logging 模块 1.1. 简介 1.2. 简单输出日志 1.3. 输入日志到文件 1.4. 几个基本概念 1.4.1. loggers 1.4.2. h ...

  5. 11.2,nginx负载均衡实验

    Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...

  6. hbase shell出现ERROR:Can't get master address from Zookeeper;znode data==null

    hbase shell出现ERROR:Can't get master address from Zookeeper;znode data==null(ERROR:org.apache.hadoop. ...

  7. 《Cracking the Coding Interview》——第3章:栈和队列——题目7

    2014-03-19 03:20 题目:实现一个包含阿猫阿狗的先入先出队列,我要猫就给我一只来的最早的猫,要狗就给我一只来的最早的狗,随便要就给我一只来的最早的宠物.建议用链表实现. 解法:单链表可以 ...

  8. jmeter 运行脚本报错 java.net.BindException: Address already in use

    在win下跑jmeter时,在聚合报告中出现错误.打开日志文件(前提是将日志写入了指定文件) 发现报错的原因为:java.net.BindException: Address already in u ...

  9. NodeJs03 express框架 Todo商城

    前言 由于NodeJs本身的异步非阻塞特性和对http的天然支持,所以使用NodeJs编写高性能,可伸缩的Web服务器非常简单.开发完整的Web服务器还需要路由,错误处理,请求拦截,请求和响应的解析, ...

  10. Python数据分析-Matplotlib图标绘制

    Matplotlib介绍 Matplotlib是一个强大的Python绘图和数据可视化的工具包. Matplotlib的主要功能 Matplotlib是python中的一个包,主要用于绘制2D图形(当 ...