Konfigurowanie kompilacjizlib VS17

Tworzenie biblioteki kompresji zlib/libzip dla CNTK

W naszych instrukcjach użyjemy następujących ścieżek instalacji:

  • źródła libzip: c:\local\src\libzip-1.1.3
  • źródła zlib: c:\local\src\zlib\zlib-1.2.8
  • Katalog kompilacji dla plików binarnych zlib i libzip: c:\local\zlib-vs17

Możesz użyć dowolnych ścieżek, ale zwróć uwagę na folder docelowy dla plików binarnych poniżej.

Istnieją dwa sposoby tworzenia biblioteki kompresji lib/libzip dla CNTK za pośrednictwem pliku wsadowego lub ręcznie.

Kompilowanie za pomocą pliku wsadowego

W katalogu Tools\devInstall\Windows znajduje się plik buildZlibVS17.batwsadowy . Ten plik wsadowy przyjmuje trzy parametry do skompilowania biblioteki CNTK Protobuf. Pierwszy parametr to katalog plików źródłowych libzip rozpakowanych powyżej, drugi parametr to katalog plików źródłowych,trzeci zlib parametr to katalog docelowy utworzonej biblioteki. W naszym przypadku wykonaj następujące kroki w standardowym wierszu polecenia Windows:

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

Ustaw zmienną ZLIB_PATH środowiskową na lokalizację utworzonej biblioteki (jest to trzeci parametr w wywołaniu polecenia powyżej, a nie lokalizacja źródeł!

setx ZLIB_PATH c:\local\zlib-vs17

Ręczne kroki kompilacji dla biblioteki kompresji CNTK

Ważne są następujące aspekty:

  • Polecenia kompilacji dla biblioteki zlib i libzip powinny używać tego samego folderu docelowego dla plików binarnych (określone za pomocą -DCMAKE_INSTALL_PREFIX parametru w cmake poleceniu poniżej)
  • Kolejność kompilacji jest ważna. Najpierw należy skompilować bibliotekę zlib , ponieważ biblioteka libzip jest zależna od niej

Środowisko wiersza polecenia dla kompilacji

Uwaga

Jeśli VS2017INSTALLDIR zmienna środowiskowa nie została ustawiona przez instalatora Visual Studio, ustaw ją ręcznie. Dokładny katalog instalacyjny zależy od wersji (w tym przypadku 2017) i oferty (Community, Enterprise itp.) Visual Studio, zgodnie z następującym wzorcem: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>.

W przypadku wersji Enterprise Visual Studio 2017 uruchom polecenie:

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

W przypadku wersji Community Visual Studio 2017 uruchom:

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

Uruchom 64-bitowe środowisko deweloperskie Visual Studio 2017. Najbardziej wygodnym sposobem jest wykonanie pliku vcvarsall.bat wsadowego w katalogu Visual Studio z wymaganymi parametrami w standardowej powłoce poleceń systemu Windows:

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

Jeśli nie możesz znaleźć tego pliku wsadowego w systemie, ponownie zapoznaj się z instalacją programu VS2017 i upewnij się, że wybrano opcję "VC++ w wersji 15.4 v14.11".

Kompilowanie biblioteki zlib

Wykonaj następujące polecenia w wierszu polecenia programu VS2017 x64 Native Tools:

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

Kompilowanie biblioteki libzip

Wykonaj następujące polecenia w wierszu polecenia programu VS2017 x64 Native Tools:

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 powyższe polecenie może wygenerować pewne ostrzeżenia. Jest oczekiwana i może być ignorowana.

cmake Ostatnie polecenie z powyższej listy spowoduje wygenerowanie następującego błędu:

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

Jest to oczekiwane i może być ignorowane — wszystkie wymagane pliki binarne (zip.dll i zlib.dll) powinny być już w c:\local\zlib-vs17

Przygotowywanie środowiska

Ustaw następującą zmienną środowiskową:

setx ZLIB_PATH c:\local\zlib-vs17