Delen via


Buildzlib VS17 instellen

Een zlib/libzip-compressiebibliotheek maken voor CNTK

We gebruiken de volgende installatiepaden in onze instructies:

  • libzip-bronnen: c:\local\src\libzip-1.1.3
  • zlib-bronnen: c:\local\src\zlib\zlib-1.2.8
  • Bouw een map voor binaire zlib- en libzip-bestanden: c:\local\zlib-vs17

U kunt alle gewenste paden gebruiken, maar noteer de opmerking over de doelmap voor binaire bestanden hieronder.

  • Installeer CMake. De map binaire CMake-bestanden toevoegen aan uw PATH
  • Libzip-broncode downloaden en uitpakken naarc:\local\src\libzip-1.1.3
  • Zlib-broncode downloaden en uitpakken naarc:\local\src\zlib\zlib-1.2.8

Er zijn twee manieren om de lib/libzip-compressiebibliotheek voor CNTK te bouwen, hetzij via een batchbestand of handmatig.

Bouwen via een batchbestand

In de map Tools\devInstall\Windows vindt u het batchbestand buildZlibVS17.bat. Dit batchbestand heeft drie parameters nodig om de CNTK Protobuf-bibliotheek te bouwen. De eerste parameter is de map van de libzip bronbestanden die u hierboven hebt uitgepakt, de tweede parameter is de map van de zlib bronbestanden, de derde parameter is de doelmap voor de gemaakte bibliotheek. In ons geval volgt u deze stappen van een standaard Windows opdrachtprompt:

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

Stel de omgevingsvariabele ZLIB_PATH in op de locatie van de gemaakte bibliotheek (dit is de derde parameter in de bovenstaande opdrachttoeroep, niet de locatie van de bronnen!

setx ZLIB_PATH c:\local\zlib-vs17

Handmatige buildstappen voor een CNTK-compressiebibliotheek

De volgende aspecten zijn belangrijk:

  • Build-opdrachten voor zlib en libzip moeten dezelfde doelmap gebruiken voor binaire bestanden (opgegeven via -DCMAKE_INSTALL_PREFIX parameter in cmake onderstaande opdracht)
  • Bouwvolgorde is belangrijk. U moet zlib eerst bouwen omdat libzip ervan afhankelijk is

Opdrachtpromptomgeving voor build

Notitie

Als VS2017INSTALLDIR de omgevingsvariabele niet is ingesteld door het Visual Studio-installatieprogramma, stelt u deze handmatig in. De exacte installatiemap is afhankelijk van zowel de versie (2017 in dit geval) als het aanbieden (Community, Enterprise, enzovoort) van Visual Studio, volgens het volgende patroon: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>

Voor Visual Studio Enterprise-editie 2017 voert u het volgende uit:

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

Voer voor Visual Studio communityversie 2017 de volgende opdracht uit:

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

Start een 64-bits Visual Studio 2017-ontwikkelomgeving. De handigste manier is om het batchbestand vcvarsall.bat uit te voeren in de map Visual Studio met de vereiste parameters uit een standaard Windows-opdrachtshell:

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

Als u dit batchbestand niet op uw systeem kunt vinden, gaat u opnieuw naar de installatie van VS2017 en controleert u of de optie VC++ versie 15.4 v14.11 toolset is geselecteerd.

Zlib bouwen

Voer de volgende opdrachten uit vanuit VS2017 x64 Native Tools Command Prompt:

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

Libzip bouwen

Voer de volgende opdrachten uit vanuit VS2017 x64 Native Tools Command Prompt:

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-opdracht hierboven kan enkele waarschuwingen genereren. Dit wordt verwacht en kan worden genegeerd.

Met de laatste cmake opdracht uit de bovenstaande lijst wordt de volgende fout gegenereerd:

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

Het wordt verwacht en kan worden genegeerd - alle vereiste binaire bestanden (zip.dll en zlib.dll) moeten al aanwezig zijn in c:\local\zlib-vs17

De omgeving voorbereiden

Stel de volgende omgevingsvariabele in:

setx ZLIB_PATH c:\local\zlib-vs17