Поделиться через


Настройка BuildProtobuf VS 2017

Создание скомпилированного Protobuf 3.1.0 для CNTK

Если вы хотите создать Protobuf 3.1.0 для CNTK самостоятельно, следуйте этим инструкциям. Скомпилированная версия Protobuf будет находиться в c:\local\protobuf-3.1.0-vs17

В следующих шагах предполагается, что источники Protobuf были распакованы в каталог c:\local\src\protobuf-3.1.0. Приведенные ниже инструкции создают библиотеки Protobuf и файлы заголовков в каталоге c:\local\protobuf-3.1.0-vs17. Если это расположение отличается в вашем случае, измените приведенные ниже действия в соответствии со структурой каталогов.

Существует два способа создания библиотеки CNTK Protobuf с помощью пакетного файла или вручную.

Сборка с помощью пакетного файла

В каталоге Tools\devInstall\Windows вы найдете пакетный файл buildProtoVS17.bat. Этот пакетный файл принимает два параметра для сборки библиотеки CNTK Protobuf. Первый параметр — это каталог исходных файлов Protobuf, которые вы распаковали выше, второй параметр — это целевой каталог для созданной библиотеки Protobuf. В нашем случае выполните следующие действия из стандартной командной строки Windows:

c:
cd \repos\cntk\Tools\devInstall\Windows
buildProtoVS17 C:\local\src\protobuf-3.1.0 C:\local\protobuf-3.1.0-vs17

Присвойте переменной PROTOBUF_PATH среды расположение Protobuf (это второй параметр в вызове команды выше, а не в расположении источников!

setx PROTOBUF_PATH c:\local\protobuf-3.1.0-vs17

Действия по сборке вручную для библиотеки protobuf CNTK

Примечание

Если VS2017INSTALLDIR переменная среды не была задана установщиком Visual Studio, установите ее вручную. Точный каталог установки зависит от версии (2017 в данном случае) и предложения (Community, Enterprise и т. д.) Visual Studio в соответствии со следующим шаблоном: C:\Program Files (x86)\Microsoft Visual Studio\<version>\<offering>

Для выпуска Enterprise Visual Studio 2017 выполните следующую команду:

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

Для выпуска Community Visual Studio 2017 выполните следующую команду:

setx VS2017INSTALLDIR "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
  1. Запустите 64-разрядную среду разработки Visual Studio 2017. Самый удобный способ — выполнить пакетный файл vcvarsall.bat в каталоге Visual Studio с необходимыми параметрами из стандартной командной оболочки Windows:
"%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" amd64 --vcvars_ver=14.11

Если вы не можете найти этот пакетный файл в системе, повторите установку VS2017 и убедитесь, что выбран параметр "VC++ версии 15.4 v14.11". 2. Создайте каталог сборки:

cd C:\local\src\protobuf-3.1.0\cmake
mkdir build && cd build
  1. Создайте отладочную сборку:
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 ..
  1. Создайте сборку выпуска:
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 ..
  1. Задайте для переменной PROTOBUF_PATH среды расположение Protobuf (Примечание. Это расположение установки, используемое в приведенной выше команде cmake, а не в расположении источников!):
setx PROTOBUF_PATH c:\local\protobuf-3.1.0-vs17