Configurar o Buildzlib VS17
Criando uma biblioteca de compactação zlib/libzip para CNTK
Usamos os seguintes caminhos de instalação em nossas instruções:
- Fontes de libzip:
c:\local\src\libzip-1.1.3
- fontes zlib:
c:\local\src\zlib\zlib-1.2.8
- Diretório de build para binários zlib e libzip:
c:\local\zlib-vs17
Você pode usar os caminhos desejados, mas observe a observação na pasta de destino para binários abaixo.
- Instale o CMake. Incluir a pasta binários do CMake à sua
PATH
- Baixar o código-fonte libzip e desempacotar para
c:\local\src\libzip-1.1.3
- Baixar o código-fonte zlib e desempacotá-lo para
c:\local\src\zlib\zlib-1.2.8
Há duas maneiras de criar a biblioteca de compactação lib/libzip para CNTK, seja por meio de um arquivo em lote ou manualmente.
Criando por meio de um arquivo em lote
No diretório Tools\devInstall\Windows
, você encontra o arquivo buildZlibVS17.bat
em lote. Esse arquivo em lote usa três parâmetros para criar a biblioteca CNTK Protobuf. O primeiro parâmetro é o diretório dos arquivos de origem libzip
que você desempacotou acima, o segundo parâmetro é o diretório dos arquivos de origem zlib
, o terceiro parâmetro é o diretório de destino da biblioteca criada. Em nosso caso, siga estas etapas de um prompt de comando 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
Defina a variável ZLIB_PATH
de ambiente como o local da biblioteca criada (este é o terceiro parâmetro na invocação de comando acima, não o local de origem!
setx ZLIB_PATH c:\local\zlib-vs17
Etapas de build manuais para uma biblioteca de compactação CNTK
Os seguintes aspectos são importantes:
- Comandos de build para zlib e libzip devem usar a mesma pasta de destino para binários (especificado por meio de
-DCMAKE_INSTALL_PREFIX
parâmetro nocmake
comando abaixo) - A ordem de build é importante. Você deve criar zlib primeiro porque o libzip depende dele
Ambiente de prompt de comando para build
Observação
Se VS2017INSTALLDIR
a variável de ambiente não foi definida pelo instalador Visual Studio, defina-a manualmente. O diretório de instalação exato depende da versão (2017 nesse caso) e da oferta (Community, Enterprise 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 Enterprise de 2017, execute:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
Para Visual Studio edição Community de 2017, execute:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
Inicie um ambiente de desenvolvimento de 64 bits Visual Studio 2017. A maneira mais conveniente é executar o arquivo vcvarsall.bat
em lote no diretório Visual Studio com os parâmetros necessários de um shell de comando padrão do Windows:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11
Se você não conseguir encontrar esse arquivo em lote em seu sistema, reveja a instalação do VS2017 e verifique se você tem a opção 'VC++ versão 15.4 v14.11 do conjunto de ferramentas' selecionada.
Criando zlib
Execute os seguintes comandos do Prompt de Comando de Ferramentas Nativas do VS2017 x64:
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
Criando libzip
Execute os seguintes comandos do Prompt de Comando de Ferramentas Nativas do VS2017 x64:
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 comando acima pode gerar alguns avisos. É esperado 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".
Ele é esperado e pode ser ignorado - todos os binários necessários (zip.dll
e zlib.dll
) já devem estar em c:\local\zlib-vs17
Preparar o ambiente
Defina a seguinte variável de ambiente:
setx ZLIB_PATH c:\local\zlib-vs17