13

とにかく、Visual Studio 2010 用に libzip をコンパイルするためのドキュメントはありますか? 私が libzip Web サイトから見たものすべてと Google は結果を返しませんでした。

4

8 に答える 8

29

編集:

ここで提供される回答を開始する前に、これは以下の @Thomas Klausner の回答によると、もはや問題ではないようです。


以下は、VS10 ソリューションを取得する必要があります。

  1. CMakeをまだインストールしていない場合は、インストールします。

  2. 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()
      

      C:\devel\zlib-1.2.7\CMakeLists.txt の最後まで

  3. libzipをダウンロードして解凍します。C:\devel

  4. VS10 コマンド プロンプトで、cd C:\devel\zlib-1.2.7

  5. mkdir build && cd build

  6. 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パラメーターとして使用します。

  7. msbuild /P:Configuration=Debug INSTALL.vcxproj

  8. msbuild /P:Configuration=Release INSTALL.vcxproj

  9. cd C:\devel\libzip-0.10.1

  10. mkdir build && cd build

  11. cmake .. -G"Visual Studio 10" -DCMAKE_PREFIX_PATH="C:\devel\installed\zlib" CMake が zlib のインクルード ファイルとライブラリを見つけられるように、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

于 2012-05-09T00:33:11.460 に答える
4

コメントできないので、Fraser の回答に加えて: 最近、libzip の最新のリポジトリ バージョンは、追加のパッチなしで VS でコンパイルする必要があります。試してみて、部品がまだ不足しているかどうかを開発者に知らせてください。

于 2012-09-02T20:47:46.970 に答える
3

上記の回答にコメントすることはできませんが、これを機能させようとしていて、最終的に、構成プロパティの下の出力ディレクトリとデバッグ中のコマンドが見つかりました。

ALL_BUILD、ZERO_CHECK、INSTALL、および PACKAGE を削除すると、リンク エラーや Linux 固有のエラーが発生することなく正常にビルドされます。

于 2014-05-28T15:50:29.123 に答える
3

libzip-1.0.1、zlib-1.2.8、および VS Community 2013 を使用します。

パスに追加:

C:\Program Files (x86)\CMake\bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319

cmake 行は次のようになりました。

cmake .. -G"Visual Studio 12 Win64" -DCMAKE_INSTALL_PREFIX="C:\devel\installed\zlib"

devel\libzip-1.0.1\lib\zip_source_filep.c:189 が変更されました:

mask = umask(S_IXUSR | S_IRWXG | S_IRWXO);

に:

mask = umask(_S_IREAD | _S_IWRITE);
于 2015-05-14T19:04:51.607 に答える
2

使用する

  • %ZLIB_DIR%zlib-1.2.8 へのパスの環境変数、
  • %LIBZIP_DIR%libzip-1.0.1 へのパス
  • VS 2015 Express Edition、および
  • http://hg.nih.at/libzip/rev/80457805a1e7%LIBZIP_DIR%/lib/zip_source_filep.cに従ってパッチを適用したファイル、

zlib と libzip をビルドするプロセスは次のようになります。


zlib の構築

> cd /d %ZLIB_DIR% && md build & cd build
> cmake .. -G"Visual Studio 14 2015 Win64"- DCMAKE_INSTALL_PREFIX="%ZLIB_DIR%"
> msbuild /P:Configuration=Debug INSTALL.vcxproj
> msbuild /P:Configuration=Release INSTALL.vcxproj


libzip のビルド

> cd /d %LIBZIP_DIR% && md build & cd build
> cmake .. -G"Visual Studio 14 2015 Win64" -DCMAKE_PREFIX_PATH="%ZLIB_DIR%"
> msbuild /P:Configuration=Debug ALL_BUILD.vcxproj
> msbuild /P:Configuration=Release ALL_BUILD.vcxproj


終わり!

(つまり、@MikeLischke、CMakeは実際にすぐに使用できる場合があります...)

于 2015-12-11T12:52:22.603 に答える
0

現在の zlib バージョンには、これに対する contrib があります。

zlib-1.2.8\contrib\vstudio\vc10\zlibvc.sln

構成の 1 つがマシンで有効でなかったため、ロード時にエラーが発生しましたが、再コンパイルによって処理されました。Configuration Properties>Linker>Input>Additional Dependenciesデバッグ構成をに変更zlibwapi.libするには、プロジェクトのプロパティ>も変更する必要がありましたzlibwapid.lib

于 2016-03-16T16:19:36.307 に答える