有没有为Visual Studio 2010编译libzip的文档?我从libzip网站和Google看到的所有内容都没有返回任何结果.
Fra*_*ser 27
在开始这里提供的答案之前,似乎这可能不再是@Thomas Klausner在下面给出的答案.
以下应该为您提供VS10解决方案:
如果您还没有这样做,请安装CMake
下载并提取zlib到例如C:\devel.下载链接大约是主页的一半.目前,这提供了zlib 1.2.7版.
要解决仅影响64位Windows的此CMake错误,请添加
if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC)
set_target_properties(zlibstatic PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
endif()
Run Code Online (Sandbox Code Playgroud)
到C:\ devel\zlib-1.2.7\CMakeLists.txt的末尾
下载并解压缩libzip到例如C:\devel
在VS10命令提示符下,cd C:\devel\zlib-1.2.7
mkdir build && cd build
cmake .. -G"Visual Studio 10" -DCMAKE_INSTALL_PREFIX="C:\devel\installed\zlib" 这会将安装路径设置为C:\devel\installed\zlib而不是默认路径C:\Program Files\zlib.对于64位Windows,"Visual Studio 10 Win64"请将其用作-G参数.
msbuild /P:Configuration=Debug INSTALL.vcxproj
msbuild /P:Configuration=Release INSTALL.vcxproj
cd C:\devel\libzip-0.10.1
mkdir build && cd build
cmake .. -G"Visual Studio 10" -DCMAKE_PREFIX_PATH="C:\devel\installed\zlib" 设置zlib安装位置的路径,以便CMake可以找到zlib的包含文件和库.同样,对于64位Windows,"Visual Studio 10 Win64"请将其用作-G参数.
这应该导致C:\devel\libzip-0.10.1\build\libzip.sln.看起来代码中存在一些POSIX特定的问题,但它们应该很容易解决(例如在zipconf.h中#include <inttypes.h>需要替换#include <stdint.h>;有些snprintf调用需要替换,例如_snprintf).