Configurer BuildProtobuf VS 2017
Création d’un Protobuf 3.1.0 compilé pour CNTK
Si vous souhaitez générer protobuf 3.1.0 pour CNTK vous-même, suivez ces instructions. La version compilée de Protobuf se trouve dans c:\local\protobuf-3.1.0-vs17
- Installez CMake à partir de cmake.org.
- Téléchargez et décompressez les sources protobuf à partir de https://github.com/google/protobuf/archive/v3.1.0.zip.
Les étapes suivantes supposent que les sources Protobuf ont été décompressées dans le répertoire c:\local\src\protobuf-3.1.0
. Les instructions ci-dessous créent les bibliothèques Protobuf et les fichiers d’en-tête dans le répertoire c:\local\protobuf-3.1.0-vs17
. Si cet emplacement diffère dans votre cas, adaptez les étapes ci-dessous pour qu’elle corresponde à votre structure de répertoires.
Il existe deux façons de générer la bibliothèque CNTK Protobuf, par le biais d’un fichier de commandes ou manuellement.
Génération par le biais d’un fichier de commandes
Dans le répertoire Tools\devInstall\Windows
, vous trouvez le fichier buildProtoVS17.bat
de commandes . Ce fichier batch prend deux paramètres pour générer la bibliothèque CNTK Protobuf. Le premier paramètre est le répertoire des fichiers sources Protobuf que vous avez décompressés ci-dessus, le deuxième paramètre est le répertoire de destination de la bibliothèque Protobuf créée. Dans notre cas, suivez ces étapes à partir d’une invite de commandes standard Windows :
c:
cd \repos\cntk\Tools\devInstall\Windows
buildProtoVS17 C:\local\src\protobuf-3.1.0 C:\local\protobuf-3.1.0-vs17
Définissez la variable PROTOBUF_PATH
d’environnement sur l’emplacement Protobuf (il s’agit du deuxième paramètre de l’appel de commande ci-dessus, et non de l’emplacement des sources!
setx PROTOBUF_PATH c:\local\protobuf-3.1.0-vs17
Étapes de génération manuelles pour une bibliothèque protobuf CNTK
Notes
Si VS2017INSTALLDIR
la variable d’environnement n’a pas été définie par le programme d’installation Visual Studio, définissez-la manuellement. Le répertoire d’installation exact dépend de la version (2017 dans ce cas) et de l’offre (Community, Enterprise, etc.) de Visual Studio, selon le modèle suivant : C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>
Pour Visual Studio édition Enterprise 2017, exécutez :
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
Pour Visual Studio édition Community 2017, exécutez :
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
- Lancez un environnement de développement 64 bits Visual Studio 2017. Le moyen le plus pratique consiste à exécuter le fichier
vcvarsall.bat
batch dans le répertoire Visual Studio avec les paramètres requis à partir d’un interpréteur de commandes Windows standard :
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11
Si vous ne trouvez pas ce fichier batch sur votre système, revisitez l’installation de VS2017 et vérifiez que l’option « VC++ version 15.4 v14.11 » est sélectionnée. 2. Créez un répertoire de build :
cd C:\local\src\protobuf-3.1.0\cmake
mkdir build && cd build
- Créez une build de débogage :
mkdir debug && cd debug
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -DCMAKE_INSTALL_PREFIX="c:\local\protobuf-3.1.0-vs17" ..\..
nmake && nmake install
cd ..
- Créez une build de mise en production :
mkdir release && cd release
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -DCMAKE_INSTALL_PREFIX="c:\local\protobuf-3.1.0-vs17" ..\..
nmake && nmake install
cd ..
- Définissez la variable
PROTOBUF_PATH
d’environnement sur l’emplacement Protobuf (Remarque : il s’agit de l’emplacement d’installation utilisé dans la commande cmake ci-dessus, et non de l’emplacement des sources!) :
setx PROTOBUF_PATH c:\local\protobuf-3.1.0-vs17