Condividi tramite


Configurare Buildzlib VS17

Creazione di una libreria di compressione zlib/libzip per CNTK

Nelle istruzioni vengono usati i percorsi di installazione seguenti:

  • origini libzip: c:\local\src\libzip-1.1.3
  • origini zlib: c:\local\src\zlib\zlib-1.2.8
  • Directory di compilazione per file binari zlib e libzip: c:\local\zlib-vs17

È possibile usare tutti i percorsi desiderati, ma prendere nota della nota nella cartella di destinazione per i file binari riportati di seguito.

Esistono due modi per compilare la libreria di compressione lib/libzip per CNTK, tramite un file batch o manualmente.

Compilazione tramite un file batch

Nella directory Tools\devInstall\Windows si trova il file buildZlibVS17.batbatch . Questo file batch accetta tre parametri per compilare la libreria CNTK Protobuf. Il primo parametro è la directory dei file di libzip origine decompressi in precedenza, il secondo parametro è la directory dei file di zlib origine, il terzo parametro è la directory di destinazione per la libreria creata. In questo caso, seguire questa procedura da un prompt dei comandi di Windows standard:

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

Impostare la variabile ZLIB_PATH di ambiente sul percorso della libreria creata. Questo è il terzo parametro nella chiamata al comando precedente, non il percorso delle origini.

setx ZLIB_PATH c:\local\zlib-vs17

Passaggi di compilazione manuali per una libreria di compressione CNTK

Gli aspetti seguenti sono importanti:

  • I comandi di compilazione per zlib e libzip devono usare la stessa cartella di destinazione per i file binari (specificati tramite -DCMAKE_INSTALL_PREFIX il parametro nel cmake comando seguente)
  • L'ordine di compilazione è importante. È necessario prima compilare zlib perché libzip dipende da esso

Ambiente del prompt dei comandi per la compilazione

Nota

Se VS2017INSTALLDIR la variabile di ambiente non è stata impostata dal programma di installazione di Visual Studio, impostarla manualmente. La directory di installazione esatta dipende sia dalla versione (2017 in questo caso) che dall'offerta (Community, Enterprise e così via) di Visual Studio, in base al modello seguente: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>.

Per Visual Studio edizione Enterprise 2017, eseguire:

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

Per Visual Studio edizione Community 2017, eseguire:

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

Avviare un ambiente di sviluppo a 64 bit Visual Studio 2017. Il modo più pratico consiste nell'eseguire il file vcvarsall.bat batch nella directory Visual Studio con i parametri necessari da una shell dei comandi standard di Windows:

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

Se non è possibile trovare questo file batch nel sistema, rivedere l'installazione di VS2017 e assicurarsi di avere selezionato l'opzione "VC++ versione 15.4 v14.11".

Compilazione di zlib

Eseguire i comandi seguenti dal prompt dei comandi di 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

Compilazione di libzip

Eseguire i comandi seguenti dal prompt dei comandi di 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 comando precedente può generare alcuni avvisi. È previsto e può essere ignorato.

L'ultimo cmake comando dell'elenco precedente genererà l'errore seguente:

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

È previsto e può essere ignorato: tutti i file binari necessari (zip.dll e zlib.dll) devono essere già in c:\local\zlib-vs17

Preparazione dell'ambiente

Impostare la variabile di ambiente seguente:

setx ZLIB_PATH c:\local\zlib-vs17