LibZip库是解压缩zip文件的C库。

中文的网站目前还没有找到相关的编译方法,找了一篇英文文档加上自己的实验修改了一下:

编译步骤如下:

  1. 首先先下载CMake,我下载的是2.8版本。

  2. libzip要引用 zlib 库所以要先下载,我下载的是 zlib-1.2.8,把它解压在如 C:\LibZip文件夹中.

  3. 如果是在windows 64位的环境下,请在 C:\LibZip\CMakeLists.txt 的最后添加一下几行文本:

    • if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC)
      set_target_properties(zlibstatic PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
      endif()
  4. 下载 libzip 库,我下载的是libzip-0.11.1,也将其解压在C:\LibZip文件夹中

  5. 打开 VS2012本机工具命令提示

  6. 输入以下命令:cd C:\LibZip\zlib-1.2.8

  7. 然后输入命令:mkdir build 创建build文件夹

  8. 再输入命令:cd build 进入build文件夹
  9. 然后输入命令:cmake .. -G"Visual Studio 11" -DCMAKE_INSTALL_PREFIX="C:\LibZip\installed\zlib"   将安装路径设置为 C:\LibZip\installed\zlib 否则是默认的 C:\Program Files\zlib. 如果是 64-bit Windows, 则使用 "Visual Studio 11 Win64" 作为 -G 的参数.

  10. 然后输入命令:msbuild /P:Configuration=Debug INSTALL.vcxproj

  11. 然后再输入命令:msbuild /P:Configuration=Release INSTALL.vcxproj

  12. 再输入命令:cd C:\LibZip\zlib-1.2.8

  13. 输入命令mkdir build  创建build文件夹

  14. 再输入命令: cd build  进入build文件夹

  15. 输入命令:
    cmake .. -G"Visual Studio 11" -DCMAKE_PREFIX_PATH="C:\LibZip\installed\zlib"
    设置zlib库文件的路径,如果是 64-bit Windows, 则使用 "Visual Studio 11 Win64" 作为 -G 的参数.

结果会生成 C:\LibZip\zlib-1.2.8\build\libzip.sln. 但是直接编译的话可能会遇到问题,要先更改以下几个地方:

将文件zipconf.h中的 #include <inttypes.h> 改为 #include <stdint.h>; 如果代码中的 snprintf 语句提示错误则将其改为要改为 _snprintf. 然后将C:\LibZip\zlib-1.2.8\lib\zip_set_file_compression.c文件中的第63行zip_int32_t old_method = (e->orig == NULL ? ZIP_CM_DEFAULT : e->orig->comp_method);的变量声明zip_int32_t old_method放在最前面,因为它是C代码文档。否则会出现莫名其妙的缺少“;”的错误。

VS2012编译LibZip库的更多相关文章

  1. libzip开发笔记(一):libzip库介绍、编译和工程模板

      前言   Qt使用一些压缩解压功能,选择libzip库,libzip库比较原始,也是很多其他库的基础支撑库.   libzip   libzip是一个C库,用于读取,创建和修改zip档案.可以从数 ...

  2. libzip开发笔记(二):libzip库介绍、ubuntu平台编译和工程模板

    前言   Qt使用一些压缩解压功能,选择libzip库,libzip库比较原始,也是很多其他库的基础支撑库,编译过了windows版本,有需求编译一个ubuntu版本的,交叉编译需求的同样可参照本文章 ...

  3. VS2012 编译 Assimp

    VS2012 编译 Assimp 环境: assimp-3.1.1Windows 7 64BitVisual Studio 2012CMake 2.8.12.1 注意: 在Windows中编译assi ...

  4. 【转】VS2013编译libjpeg库

    原文地址:http://blog.csdn.net/weixinhum/article/details/42718959 现在,很多图像处理工具和开源库都给出了图像解码的函数接口,然而有时这些接口并不 ...

  5. vs2012编译在win7 32位电脑和win xp电脑上运行的win32程序遇到的问题记录

    一.win7 32位电脑: vs2012编译的64位程序是没有问题的.但编译的32位程序在别的电脑(虚拟机模拟)出错: 感觉很无语,vs这么牛逼的东西,在设计时候都不考虑这些吗? 在自己电脑C:\Wi ...

  6. VS2012编译log4cpp1.1.1版本

    1.起因 看到官方网站上的log4cpp的代码已经更新到了1.1.1,而我目前使用的1.0.3版本,所以想使用下最新版本.在使用过程中发现相对于老版本,新版本的变化还是比较大的,特写下此文记录下. 2 ...

  7. VS2012编译Lua5.3.1

    编译静态库: 1.新建Win32控制台应用程序Lua5.3,下一步,应用程序类型选择:DLL,空项目,完成. 2.项目名右键属性,配置属性--项目默认值--配置类型:静态库(.lib) 3.头文件上右 ...

  8. VS2012 编译 boost1.53/ boost1.49

    原文链接:http://blog.csdn.net/ly131420/article/details/8904122 一.下载Boost库 boost_1_53_0.zip   (http://www ...

  9. 使用VS2012编译和使用C++ STL(STLport)

    使用VS2012编译和使用C++ STL(STLport) http://cstriker1407.info/blog/use-vs2012-to-compile-and-use-the-c-stl- ...

随机推荐

  1. addEventListener 与attachEvent

    第一:简单的通用方法(IE && FF) window.onload = function(){ var oDiv = document.getElementById("J_ ...

  2. 推荐几个靠谱的VPN

    最近开发scala程序使用sbt构建工程时,下载很慢,有些依赖只能通过VPN才能下载下来.在网上搜索了一大堆提供VPN服务的.有一大部分不提供试用,而且还必须得按年购买,看起来是像骗子. 在这里推荐几 ...

  3. CreateMutex

    C++ API CreateMutex 找出当前系统是否已经存在指定进程的实例.假设没有则创建一个相互排斥体.CreateMutex()函数可用来创建一个有名或无名的相互排斥量对象. HANDLE C ...

  4. Asp.Net MVC4 + Oracle + EasyUI + Bootstrap

    Asp.Net MVC4 + Oracle + EasyUI + Bootstrap --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.ht ...

  5. Windows安全事件日志中的事件编号与描述

    帐号登录事件(事件编号与描述) 672 身份验证服务(AS)票证得到成功发行与验证.673 票证授权服务(TGS)票证得到授权.TGS是一份由Kerberos 5.0版票证授权服务(TGS)发行.且允 ...

  6. 【android】WebView缓存数据收集

    Android WebView 缓存 Android高手进阶教程(二十四)之---Android WebView的缓存!!! Android webView 缓存 Cache + HTML5离线功能 ...

  7. C语言实现全排列

    实现全排列,递归实现 #include <stdio.h> #include <stdlib.h> ; void swap(int *a, int *b) { int m; m ...

  8. leetcode[68] Climbing Stairs

    n个台阶,每次可以走一步或者两步,总共有多少种走法. 第一感觉想到的是递归,n为1的时候1种,2的时候2中.其他时候就是 fun(n) = fun(n-1) + fun(n-2);递归的代码很简单.如 ...

  9. SQL Server 后续去除功能汇总

    原文:SQL Server 后续去除功能汇总 功能更新去除汇总 字段类型 在 Microsoft SQL Server 的未来版本中将删除 ntext.text 和 image 数据类型. 请避免在新 ...

  10. 邮箱自动完成(jquary效果)

    邮箱自动完成的效果在网站上大多都看过,但是质量参差不齐,今天突然在网上看到一篇博客,感觉这个插件很好,就想来写一下分享给大家! 效果图如下! 完整demo代码如下: <!DOCTYPE html ...