Configuração Buildzlib VS17
Criar uma biblioteca de compressão zlib/libzip para CNTK
Utilizamos os seguintes caminhos de instalação nas nossas instruções:
- fontes libzip:
c:\local\src\libzip-1.1.3
- fontes zlib:
c:\local\src\zlib\zlib-1.2.8
- Construa diretório para binários zlib e libzip:
c:\local\zlib-vs17
Pode utilizar os caminhos que quiser, mas note a observação na pasta alvo para binários abaixo.
- Instale o CMake. Inclua a pasta CMake binaries para o seu
PATH
- Descarregue o código fonte libzip e desembale para
c:\local\src\libzip-1.1.3
- Baixe o código fonte zlib e desembale-o para
c:\local\src\zlib\zlib-1.2.8
Existem duas formas de construir a biblioteca de compressão lib/libzip para CNTK, seja através de um ficheiro de lote ou manualmente.
Construindo através de um arquivo de lote
No diretório Tools\devInstall\Windows
encontra-se o ficheiro buildZlibVS17.bat
do lote. Este ficheiro de lote requer três parâmetros para construir a biblioteca CNTK Protobuf. O primeiro parâmetro é o diretório dos ficheiros de origem que desempacotou acima, o segundo parâmetro é o diretório dos ficheiros de zlib
origem, o terceiro parâmetro é o diretório de libzip
destino da biblioteca criada. No nosso caso, siga estes passos a partir de um pedido de comando de Windows padrão:
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
Desaprote a variável ZLIB_PATH
ambiente para a localização da biblioteca criada (este é o terceiro parâmetro na invocação de comando acima, não a localização das fontes!
setx ZLIB_PATH c:\local\zlib-vs17
Passos de construção manual para uma biblioteca de compressão CNTK
Os seguintes aspetos são importantes:
- Construir comandos para zlib e libzip deve usar a mesma pasta-alvo para binários (especificados via
-DCMAKE_INSTALL_PREFIX
parâmetro nocmake
comando abaixo) - Construir a ordem é importante. Você deve construir zlib primeiro porque libzip é dependente dele
Ambiente de solicitação de comando para a construção
Nota
Se VS2017INSTALLDIR
a variável ambiente não foi definida pelo instalador Visual Studio, coloque-a manualmente. O diretório de instalação exato depende tanto da versão (2017 neste caso) como da oferta (Comunidade, Empresa, etc)) de Visual Studio, de acordo com o seguinte padrão: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>
.
Para Visual Studio edição empresarial de 2017, corra:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
Para Visual Studio edição comunitária de 2017, corra:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
Lançar um ambiente de desenvolvimento de 64 bits Visual Studio 2017. A forma mais conveniente é executar o ficheiro de lote no diretório vcvarsall.bat
Visual Studio com os parâmetros necessários a partir de uma concha de comando padrão do windows:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11
Se não conseguir encontrar este ficheiro de lote no seu sistema, por favor reveja a instalação do VS2017 e certifique-se de que tem a opção 'VC++ versão 15.4 v14.11' selecionada.
Edifício zlib
Execute os seguintes comandos a partir de 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
Construção libzip
Execute os seguintes comandos a partir de 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
O comando MSBuild acima pode gerar alguns avisos. Espera-se e pode ser ignorado.
O último cmake
comando da lista acima gerará o seguinte erro:
CMake Error at src/cmake_install.cmake:34 (file):
file INSTALL cannot find "C:/libzip/build/src/Release/zipcmp.exe".
É esperado e pode ser ignorado - todos os binários necessários (zip.dll
e zlib.dll
) devem já estar em c:\local\zlib-vs17
Preparação do ambiente
Definir a seguinte variável ambiente:
setx ZLIB_PATH c:\local\zlib-vs17