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.
- Zainstaluj narzędzie CMake. Dołącz folder plików binarnych narzędzia CMake do folderu
PATH
- Pobierz kod źródłowy libzip i rozpakuj go
c:\local\src\libzip-1.1.3
- Pobierz kod źródłowy zlib i rozpakuj go do
c:\local\src\zlib\zlib-1.2.8
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.bat
wsadowy . 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 wcmake
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