1,报错问题:packgage protobuf was not found in the pkg-config search path.
perhaps you should add the directory containing `protobuf.pc` to the PKG_CONFIG_PATH environment variable
No package 'protobuf' found
解决方案:先找到pkgconfig所在目录,用$locate pkgconfig 命令,本人定位后的目录是/lib/pkgconfig(网上其他人有的是/usr/local/lib/pkgconfig,我刚开始试了好久,不行,因为pkgconfig路径错误。所以,用locate定位了下)。
导出路径:export PKG_CONFIG_PATH=/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib
当退出进程时,上述export会消失,可以把它写到~/.profile中
2, 报错问题:*pb.h:9:42:fatal error:google/protobuf/stubs/common.h:没有那个文件或目录
#include<google/protobuf/stubs/common.h>
g++ lm.hello.pb.cc write.cc -o write `pkg-config --cflags --libs protobuf` -lpthread,编译write.cc时,出现上述问题
解决方案:加 -I 编译选项, 可以使用locate 定位出stubs/common.h所在最高层目录,本人的最高层目录是include
编译方案:g++ -I/include lm.hello.pb.cc write.cc -o write `pkg-config --cflags --libs protobuf` -lpthread