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 naar
c:\local\src\libzip-1.1.3
-
Zlib-broncode downloaden en uitpakken naar
c:\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 incmake
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