Share via


Setup Buildzlib VS17

Erstellen einer zlib/libzip-Komprimierungsbibliothek für CNTK

Wir verwenden die folgenden Installationspfade in unseren Anweisungen:

  • libzip-Quellen: c:\local\src\libzip-1.1.3
  • zlib-Quellen: c:\local\src\zlib\zlib-1.2.8
  • Buildverzeichnis für zlib- und libzip-Binärdateien: c:\local\zlib-vs17

Sie können alle gewünschten Pfade verwenden, aber beachten Sie die Anmerkung im Zielordner für Binärdateien unten.

Es gibt zwei Möglichkeiten zum Erstellen der lib/libzip-Komprimierungsbibliothek für CNTK, entweder über eine Batchdatei oder manuell.

Erstellen einer Batchdatei

Im Verzeichnis Tools\devInstall\Windows finden Sie die Batchdatei buildZlibVS17.bat. Diese Batchdatei verwendet drei Parameter, um die CNTK Protobuf-Bibliothek zu erstellen. Der erste Parameter ist das Verzeichnis der libzip Quelldateien, die Sie oben entpackt haben, der zweite Parameter ist das Verzeichnis der zlib Quelldateien, der dritte Parameter ist das Zielverzeichnis für die erstellte Bibliothek. Führen Sie in unserem Fall die folgenden Schritte aus einer Standard-Windows Eingabeaufforderung aus:

c:
cd \repos\cntk\Tools\devInstall\Windows
buildZlibVS17 c:\local\src\libzip-1.1.3 c:\local\src\zlib\zlib-1.2.8 c:\local\zlib-vs17

Legen Sie die Umgebungsvariable ZLIB_PATH an den Speicherort der erstellten Bibliothek fest (dies ist der dritte Parameter im oben genannten Befehl, nicht der Speicherort der Quellen!

setx ZLIB_PATH c:\local\zlib-vs17

Manuelle Buildschritte für eine CNTK Komprimierungsbibliothek

Die folgenden Aspekte sind wichtig:

  • Buildbefehle für zlib und libzip sollten denselben Zielordner für Binärdateien verwenden (angegeben über parameter in -DCMAKE_INSTALL_PREFIXcmake Befehl unten)
  • Die Buildreihenfolge ist wichtig. Sie sollten zuerst zlib erstellen , da libzip davon abhängig ist.

Eingabeaufforderungsumgebung für build

Hinweis

Wenn VS2017INSTALLDIR die Umgebungsvariable vom Visual Studio Installer nicht festgelegt wurde, legen Sie sie manuell fest. Das genaue Installationsverzeichnis hängt von der Version (2017 in diesem Fall) und dem Angebot (Community, Enterprise usw.) von Visual Studio ab, entsprechend dem folgenden Muster: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>

Führen Sie für Visual Studio 2017 Enterprise Edition Folgendes aus:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"

Führen Sie für Visual Studio 2017 Community Edition Folgendes aus:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"

Starten Sie eine 64-Bit-Visual Studio 2017-Entwicklungsumgebung. Die einfachste Möglichkeit besteht darin, die Batchdatei vcvarsall.bat im Visual Studio-Verzeichnis mit den erforderlichen Parametern aus einer Standard-Windows-Befehlsshell auszuführen:

    "%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11

Wenn Sie diese Batchdatei nicht auf Ihrem System finden können, überprüfen Sie die Installation von VS2017, und stellen Sie sicher, dass Sie die Option "VC++ Version 15.4 v14.11 toolset" ausgewählt haben.

Erstellen von Zlib

Führen Sie die folgenden Befehle aus VS2017 x64 Native Tools-Eingabeaufforderung aus:

cd c:\local\src\zlib\zlib-1.2.8
mkdir build
cd build
cmake .. -G"Visual Studio 15" -DCMAKE_INSTALL_PREFIX="c:\local\zlib-vs17"
msbuild /P:Configuration=Release INSTALL.vcxproj

Erstellen von libzip

Führen Sie die folgenden Befehle aus VS2017 x64 Native Tools-Eingabeaufforderung aus:

cd c:\local\src\libzip-1.1.3
mkdir build
cd build
cmake .. -G"Visual Studio 15 Win64" -DCMAKE_INSTALL_PREFIX="c:\local\zlib-vs17"
msbuild libzip.sln /t:zip /P:Configuration=Release
cmake -DBUILD_TYPE=Release -P cmake_install.cmake

MSBuild Befehl oben kann einige Warnungen generieren. Es wird erwartet und kann ignoriert werden.

Der letzte cmake Befehl aus der obigen Liste generiert den folgenden Fehler:

CMake Error at src/cmake_install.cmake:34 (file):
  file INSTALL cannot find "C:/libzip/build/src/Release/zipcmp.exe".

Es wird erwartet und kann ignoriert werden - alle erforderlichen Binärdateien (zip.dll und zlib.dll) sollten bereits in c:\local\zlib-vs17

Vorbereiten der Umgebung

Legen Sie die folgende Umgebungsvariable fest:

setx ZLIB_PATH c:\local\zlib-vs17