Установка протокольных буферов в Windows

Я не могу найти четкие инструкции по установке буферов протокола Google (включая компилятор) на платформе Windows x64.

Я просмотрел файл README с инструкциями для компилятора и источника:

Для компилятора: чтобы установить, просто поместите этот двоичный файл где-нибудь в вашей переменной PATH

Я добавил системную переменную в путь:

PROTOC 'C:\dev_tools\protoc-2.4.1-win32'

Я застрял при установке источника Protocol Buffers с помощью Cygwin. Я пытался следовать Инструкции Unix в файле readme:

Построить и установить среду выполнения буфера протокола C++ и протокол Буферный компилятор (protoc) выполняет следующее:

$ ./configure
$ make
$ make check
$ make install

В случае сбоя make check вы все равно можете установить, но вполне вероятно, что некоторые функции этой библиотеки не будут работать правильно в вашей системе. Действуйте на свой страх и риск.

make install may require superuser privileges.

Дополнительные сведения об использовании и настройке см. в INSTALL.txt.

** Подсказка о месте установки **

По умолчанию пакет будет установлен в /usr/local. Однако на многих платформах /usr/local/lib не является частью LD_LIBRARY_PATH. Вы можете добавить его, но может быть проще установить вместо него в /usr>. Для этого вызовите configure следующим образом:

./configure --prefix=/usr

Я получаю

-bash: ./configure: No such file or directory'

Может ли кто-нибудь предоставить четкие и подробные инструкции по выполнению этой работы?

UPDATE

Я переключился на использование MSYS/MINGW32 и Я следовал инструкциям, приведенным в этой ссылке. Теперь я застрял в следующем:

Когда я запускаю команду "./configure", я получаю следующую ошибку:
проверка того, как запустить препроцессор C++.../lib/cpp
configure: error: препроцессор C++ "/lib/cpp" не проходит проверку работоспособности '

В результате ни одна из команд make, make install не работает. Например:

make: No targets specified and no makefile found. Stop.

Ответ 1

Существует целый файл документации для компиляции protobuf в Windows:

Вам понадобится 7-zip, Cmake и Visual Studio.

В любом случае, одним из неожиданных побочных эффектов использования инструмента непрерывной интеграции (такого как Travis или Appveyor) является то, что всегда имеется актуальный и работающий скрипт сборки. Я всегда смотрю на appveyor.yml и travis_config.yml когда они существуют.

>>> git clone -b v3.1.0 https://github.com/google/protobuf.git 
>>> cd protobuf
>>> curl -L -o release-1.7.0.zip https://github.com/google/googlemock/archive/release-1.7.0.zip
>>> 7z x release-1.7.0.zip
>>> del /Q release-1.7.0.zip
>>> rename googlemock-release-1.7.0 gmock
>>> curl -L -o release-1.7.0.zip "https://github.com/google/googletest/archive/release-1.7.0.zip"
>>> 7z x release-1.7.0.zip
>>> del /Q release-1.7.0.zip
>>> rename googletest-release-1.7.0 gtest
>>> move gtest gmock
>>> set generator=Visual Studio 12 Win64
>>> set vcplatform=x64
>>> mkdir build_msvc
>>> cd build_msvc
>>> cmake -G "%generator%" -Dprotobuf_BUILD_SHARED_LIBS=%BUILD_DLL% -Dprotobuf_UNICODE=%UNICODE% ../cmake
>>> msbuild protobuf.sln /p:Platform=%vcplatform% || goto error

Вам понадобится curl (он есть у Git Bash), а также пути к исполняемым файлам 7z.exe и Msbuild.exe.

Мне удалось собрать компилятор protobuf на компьютере с Windows 10 x64 с помощью Visual Studio 2015.

Ответ 2

Если вы просто хотите скомпилировать определения ProtoBuf, вы можете загрузить предварительно скомпилированные двоичные файлы protoc для всех платформ прямо на странице релизов ProtoBuf GitHub.

Они предварительно скомпилировали двоичные файлы, по крайней мере, с 2015 года, но их легко пропустить в промежутке между многочисленными загрузками.

Ответ 3

Как и другие люди, я не совсем понимаю, как установить текущий Protobuf (3.7.1) в Windows 10 для использования с Visual Studio C++ (последняя версия, 2015?). Нужно ли компилировать его исходный код, чтобы сделать это? Похоже, что код protobuf C++ (заголовки, библиотеки C++, библиотеки protobuf) необходимо интегрировать в проект VS, есть какие-нибудь документы о том, как это сделать?

Есть ссылка на менеджер пакетов vcpkg; он делает установку в Visual Studio, чтобы сделать видимыми заголовочные файлы Protobuf и т.д.?