BuildProtobuf VS 2017 instellen
Een gecompileerde Protobuf 3.1.0 maken voor CNTK
Als u de Protobuf 3.1.0 voor CNTK zelf wilt bouwen, volgt u deze instructies. De gecompileerde Protobuf-versie bevindt zich in c:\local\protobuf-3.1.0-vs17
- Installeer CMake vanuit cmake.org.
- Download en pak de protobuf-bronnen uit https://github.com/google/protobuf/archive/v3.1.0.zip.
In de volgende stappen wordt ervan uitgegaan dat de Protobuf-bronnen zijn uitgepakt naar de map c:\local\src\protobuf-3.1.0
. In de onderstaande instructies worden de Protobuf-bibliotheken en headerbestanden in de map c:\local\protobuf-3.1.0-vs17
gemaakt. Als deze locatie in uw geval verschilt, past u de onderstaande stappen aan zodat deze overeenkomt met uw mapstructuur.
Er zijn twee manieren om de CNTK Protobuf-bibliotheek te bouwen, hetzij via een batchbestand of handmatig.
Bouwen via een batchbestand
In de map Tools\devInstall\Windows
vindt u het batchbestand buildProtoVS17.bat
. Dit batchbestand heeft twee parameters nodig om de CNTK Protobuf-bibliotheek te bouwen. De eerste parameter is de map van de Protobuf-bronbestanden die u hierboven hebt uitgepakt. De tweede parameter is de doelmap voor de gemaakte Protobuf-bibliotheek. In ons geval volgt u deze stappen van een standaard Windows opdrachtprompt:
c:
cd \repos\cntk\Tools\devInstall\Windows
buildProtoVS17 C:\local\src\protobuf-3.1.0 C:\local\protobuf-3.1.0-vs17
Stel de omgevingsvariabele PROTOBUF_PATH
in op de Protobuf-locatie (dit is de tweede parameter in de bovenstaande opdrachttoeroep, niet de locatie van de bronnen!
setx PROTOBUF_PATH c:\local\protobuf-3.1.0-vs17
Handmatige buildstappen voor een CNTK Protobuf-bibliotheek
Notitie
Als VS2017INSTALLDIR
de omgevingsvariabele niet is ingesteld door het Visual Studio-installatieprogramma, stelt u deze handmatig in. De exacte installatiemap is afhankelijk van zowel de versie (2017 in dit geval) als het aanbieden (Community, Enterprise, enzovoort) van Visual Studio, volgens het volgende patroon: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>
Voor Visual Studio Enterprise-editie 2017 voert u het volgende uit:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise"
Voer voor Visual Studio communityversie 2017 de volgende opdracht uit:
setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
- Start een 64-bits Visual Studio 2017-ontwikkelomgeving. De handigste manier is om het batchbestand
vcvarsall.bat
uit te voeren in de map Visual Studio met de vereiste parameters uit een standaard Windows-opdrachtshell:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11
Als u dit batchbestand niet op uw systeem kunt vinden, gaat u opnieuw naar de installatie van VS2017 en controleert u of u de optie VC++ versie 15.4 v14.11 toolset hebt geselecteerd. 2. Maak een buildmap:
cd C:\local\src\protobuf-3.1.0\cmake
mkdir build && cd build
- Een build voor foutopsporing maken:
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 ..
- Een release-build maken:
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 ..
- Stel de omgevingsvariabele in
PROTOBUF_PATH
op de Protobuf-locatie (opmerking: dit is de installatielocatie die wordt gebruikt in de bovenstaande opdracht cmake, niet de locatie van de bronnen!):
setx PROTOBUF_PATH c:\local\protobuf-3.1.0-vs17