如何为 Visual Studio 2010 编译 libzip?
最佳答案
编辑:
在开始这里提供的答案之前,@Thomas Klausner 的 answer 似乎不再是问题。下面。
以下内容应该为您提供 VS10 解决方案:
如果您尚未安装,请安装 CMake
下载并解压zlib例如
C:\devel
.下载链接位于主页的一半左右。目前这提供了 zlib 版本 1.2.7。解决方法 this CMake bug仅影响 64 位 Windows,添加
if(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC) set_target_properties(zlibstatic PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64") endif()
到 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
)。
关于c++ - 带有 Visual Studio 2010 的 libzip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10507893/