"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. 笔记-scrapy-去重

    笔记-scrapy-去重 1.      scrapy 去重 scrapy 版本:1.5.0 第一步是要找到去重的代码,scrapy在请求入列前去重,具体源码在scheduler.py: def en ...

  2. 20145202马超 《Java程序设计》 实验一 实验报告

    一.实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 二.实验内容 1.完成在Windows环境下对IDEA的配置: 2.实现求正整 ...

  3. 对于STM32别名区的理解 (转载)

    1. 什么是位段.位带别名区? 2. 它有什么好处? 答1: 是这样的,记得MCS51吗? MCS51就是有位操作,以一位(BIT)为数据对象的操作,       MCS51可以简单的将P1口的第2位 ...

  4. 腾讯QQ空间穿越时光轴3D特效

    <DOCTYPE html> <html> <head> <title>腾讯QQ空间穿越光轴3D特效</title> <style&g ...

  5. nosetests

    1.nosetests 执行出测试报告 提前安装 插件nose-html系列插件   nosetests -v --with-html-output --html-out-file=报告名.html ...

  6. NodeJs04

    REST API的设计 前言 客户端通过请求URL,传递参数,去获取指定的数据,这就是API(ApplicationProgramInterface). API是前端和客户端操作后端数据的一种方式,一 ...

  7. Eclipse下使用SVN插件从服务器获取工程

    1.打开Eclipse 4.4,在Eclipse里打开SVN资源库窗口:点击菜单window-->show view-->other:然后再弹出窗口展开SVN节点,选择SVN资源库   2 ...

  8. UVALive 6324 Archery (求射箭覆盖的期望)

    #include<cstdio> #include<cmath> #include<cstring> #include<cstdlib> const d ...

  9. 【转】Unity3D Transform中有关旋转的属性和方法测试

    Transform有关旋转个属性和方法测试 一,属性 1,var eulerAngles : Vector3 public float yRotation = 5.0F; void Update()  ...

  10. CodeForces Round #515 Div.3 A. Vova and Train

    http://codeforces.com/contest/1066/problem/A Vova plans to go to the conference by train. Initially, ...