如何在yocto上移植grpc-helloworld(CPP)示例
How to port grpc helloworld(CPP) example on yocto
嘿,我正试图在Ubuntu 16.04 LTS for target arm上的yocto pyro上移植helloworld,基于cpp的gRPC演示。但我弄错了。
协议-I./--grpc_out=--plugin=protoc gen grpc=/home/admin/BUILD/tmp/sysroots components/x86_64/grpc native/usr/bin/grpc_cpp_plugin.proto
/home/admin/BUILD/tmp/sysroots-components/x86_64/grpc-native/usr/bin/grpc_cpl_plugin:加载共享库时出错:libprotocol.so.15:无法打开共享对象文件:没有这样的文件或目录
--grpc_out:protoc gen grpc:插件失败,状态代码为127。
生成文件:55:目标"hello.grpc.pb.cc"的配方失败
因此,任何人都可以建议解决这个错误的步骤。
请查找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} = "/*"
请找到它的生成文件。
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文件。
我认为这与gRPC示例无关,看起来Linux上的protoc安装脚本有问题——它没有更新动态库绑定。尝试从根目录运行"ldconfig"。然后运行"protoc",没有任何争论。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- Linux的Cpp上的计时器
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 命名空间中具有.h和.cpp文件的类
- 内置函数可查看CPP中的成员变量
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- Cpp-Tuple使用带有变量的get
- 如何使用CMake编译.proto文件来生成.grpcp.pb.cc和.grpc.pb.h文件
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何通过cpp程序运行shell脚本
- 我可以在不创建项目的情况下在Visual Studio 2019中编译和运行HelloWorld.cpp吗?
- cpp / c ++中的grpc客户端代码,元数据x-api-key/x-goog-api-key不起作用,给了我语音A
- gRPC cpp 异步服务器与同步服务器
- 在 GRPC 中使用字节数组 (cpp)
- 如何在yocto上移植grpc-helloworld(CPP)示例
- 如何在安装了 WSL 的 Visual Studio Code 中修复"g++: error: helloworld.cpp: No such file or directory"?
- CPP中的gRPC提供TLS支持
- Box2D:在Helloworld.cpp或类似的基本程序中使用debugdraw