фатальная ошибка: файл 'google / protobuf / compiler / plugin.h' не найден - PullRequest
0 голосов
/ 05 марта 2019

Я собираю плагин Google protobuf из этих источников .

Я установил protobuf@2.5 с помощью команды homebrew:

brew install protobuf@2.5

После установки я получаю следующую ошибку при попытке компиляции, вызывая make:

Richards-Mac-mini:protobuf-objc-arc richard$ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-recursive
Making all in src/compiler
g++ -DHAVE_CONFIG_H -I. -I../..     -g -O2 -DNDEBUG -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cc
main.cc:17:10: fatal error: 'google/protobuf/compiler/plugin.h' file not found
#include <google/protobuf/compiler/plugin.h>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [main.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

В частности, эта строка интересна:

фатальная ошибка: файл 'google / protobuf / compiler / plugin.h' не найден

Хотя я определенно могу пойти по этому пути и найти файл plugin.h:

/usr/local/Cellar/protobuf@2.5/2.5.0/include/google/protobuf/compiler/plugin.h

screenshot

Похоже, библиотека неправильно связана с двоичным файлом, и проблема как-то связана с правильным путем.

Когда я пытаюсь выполнить команду which protoc, я получаю:

/usr/local/opt/protobuf@2.5/bin/protoc

protoc --version приводит к следующему результату, который ожидается.

libprotoc 2.5.0

1 Ответ

0 голосов
/ 05 марта 2019

Исправлено с помощью следующих команд:

ссылка brew --force --overwrite protobuf250

Выход:

Linking /usr/local/Cellar/protobuf@2.5/2.5.0... 14 symlinks created

If you need to have this software first in your PATH instead consider running:
  echo 'export PATH="/usr/local/opt/protobuf@2.5/bin:$PATH"' >> ~/.bash_profile

А затем:

echo 'export PATH = "/ usr/local/opt/protobuf@2.5/bin: $ PATH"' >> ~ / .Bash_profile

После успешной компоновки я смог скомпилировать плагин Objective-C без ошибок.

...