fatal error: 'google/protobuf/compiler/plugin.h' file not found
fatal error: 'google/protobuf/compiler/plugin.h' file not found
我正在从 these sources.
编译一个 Google protobuf 插件
我已经使用自制命令安装了 protobuf@2.5:
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
这一行特别有趣:
fatal error: 'google/protobuf/compiler/plugin.h' file not found
虽然我绝对可以通过这条路径找到 plugin.h
文件:
/usr/local/Cellar/protobuf@2.5/2.5.0/include/google/protobuf/compiler/plugin.h
看起来,库与二进制文件的链接不正确,问题与正确的路径有某种关系。
当我尝试发出命令 which protoc
时,我得到:
/usr/local/opt/protobuf@2.5/bin/protoc
protoc --version
导致以下输出,这是预期的。
libprotoc 2.5.0
已通过发出以下命令修复:
brew link --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 插件。
我正在从 these sources.
编译一个 Google protobuf 插件我已经使用自制命令安装了 protobuf@2.5:
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
这一行特别有趣:
fatal error: 'google/protobuf/compiler/plugin.h' file not found
虽然我绝对可以通过这条路径找到 plugin.h
文件:
/usr/local/Cellar/protobuf@2.5/2.5.0/include/google/protobuf/compiler/plugin.h
看起来,库与二进制文件的链接不正确,问题与正确的路径有某种关系。
当我尝试发出命令 which protoc
时,我得到:
/usr/local/opt/protobuf@2.5/bin/protoc
protoc --version
导致以下输出,这是预期的。
libprotoc 2.5.0
已通过发出以下命令修复:
brew link --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 插件。