zoukankan      html  css  js  c++  java
  • VS2012编译LibZip库

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

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

    编译步骤如下:

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

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

    3. 如果是在windows 64位的环境下,请在 C:LibZipCMakeLists.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:LibZipzlib-1.2.8

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

    8. 再输入命令:cd build 进入build文件夹
    9. 然后输入命令:cmake .. -G"Visual Studio 11" -DCMAKE_INSTALL_PREFIX="C:LibZipinstalledzlib"   将安装路径设置为 C:LibZipinstalledzlib 否则是默认的 C:Program Fileszlib. 如果是 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:LibZipzlib-1.2.8

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

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

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

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

    将文件zipconf.h中的 #include <inttypes.h> 改为 #include <stdint.h>; 如果代码中的 snprintf 语句提示错误则将其改为要改为 _snprintf. 然后将C:LibZipzlib-1.2.8libzip_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代码文档。否则会出现莫名其妙的缺少“;”的错误。


  • 相关阅读:
    Linux查看日志常用命令
    linux(centos)下安装PHP的PDO扩展
    TP thinkphp 权限管理 权限认证 功能
    mysql优化(三)–explain分析sql语句执行效率
    阿里云服务器Centos7成为挖矿肉鸡被挖矿imWBR1耗尽CPU
    Asp.net导入Excel并读取数据
    定义显式类型转换和隐式类型转换
    C# 对象与引用变量
    C# ref参数
    C# 字段与属性的区别
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3194222.html
Copyright © 2011-2022 走看看