Partilhar via


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.

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.batdo 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 no cmake 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