嘿,我正在尝试在Ubuntu 16.04 LTS上为yocto pyro移植helloorld,基于cpp的演示gRPC用于目标臂,。但我得到了错误。
protoc -I ./ --grpc_out =。 --plugin = protoc-gen-grpc = / home / admin / BUILD / tmp / sysroots-components / x86_64 / grpc-native / usr / bin / grpc_cpp_plugin hello.proto
/ home / admin / BUILD / tmp / sysroots-components / x86_64 / grpc-native / usr / bin / grpc_cpp_plugin:加载共享库时出错:libprotoc.so.15:无法打开共享对象文件:否这样的文件或目录
- grpc_out:protoc-gen-grpc:插件失败,状态码为127。
Makefile:55:目标'hello.grpc.pb.cc'faile的食谱
所以任何人都可以建议解决此错误的步骤。
请找到helloworld.bb文件。
DESCRIPTION = "Hello world"
SECTION = "Hello world"
LICENSE = "CLOSED"
S = "${COREBASE}/../../../src_dir/hello"
B = "${S}"
inherit externalsrc
EXTERNALSRC_pn-hello = "${S}"
EXTERNALSRC_BUILD_pn-hello = "${B}"
EXTERNALSRC_SYMLINKS_pn-hello = ""
DEPENDS = "grpc-native protobuf-native protobuf-c gflags c-ares protobuf-c-native openssl"
PR = "r1"
PARALLEL_MAKE =""
TARGET_CXX_ARCH += "${LDFLAGS}"
do_compile() {
oe_runmake
}
ALLOW_EMPTY_${PN} = "1"
FILES_${PN} = "/*"
请找到它的makefile。
CXX = arm-poky-linux-gnueabi-g++ -march=armv7-a -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a8 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/home/admin/BUILD/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/hello-demo/0.1.0-r1/recipe-sysroot
CXXFLAGS += -std=c++11
ifeq ($(SYSTEM),Darwin)
LDFLAGS += -L/usr/local/lib `pkg-config --libs protobuf grpc++ grpc`\
-ldl
else
LDFLAGS += -L/home/admin/BUILD/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/hello-demo/0.1.0-r1/recipe-sysroot/usr/lib -Wl,--no-as-needed -lgrpc++_reflection -Wl,--as-needed\
-ldl
endif
PROTOC = protoc
GRPC_CPP_PLUGIN = grpc_cpp_plugin
GRPC_CPP_PLUGIN_PATH ?= /home/admin/BUILD/tmp/sysroots-components/x86_64/grpc-native/usr/bin/grpc_cpp_plugin
PROTOS_PATH = ./
vpath %.proto $(PROTOS_PATH)
all: hello_client hello_server
hello_client: hello.pb.o hello.grpc.pb.o hello-client.o
$(CXX) $^ $(LDFLAGS) -o $@
hello_server: hello.pb.o hello.grpc.pb.o hello-server.o
$(CXX) $^ $(LDFLAGS) -o $@
.PRECIOUS: %.grpc.pb.cc
%.grpc.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --grpc_out=. --plugin=protoc-gen- grpc=$(GRPC_CPP_PLUGIN_PATH) $<
.PRECIOUS: %.pb.cc
%.pb.cc: %.proto
$(PROTOC) -I $(PROTOS_PATH) --cpp_out=. $<
clean:
rm -f *.o *.pb.cc *.pb.h hello_client hello_server
请找到我的grpc_1.8.5.bb文件。
答案 0 :(得分:0)
我认为它与gRPC示例无关,看起来Linux上的protoc安装脚本存在问题 - 它不会更新动态库绑定。 尝试从root运行“ldconfig”。并且在它之后运行“protoc”,没有任何争论。