You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Yocto Pyro上移植gRPC C++ HelloWorld及解决依赖报错

解决gRPC C++ HelloWorld移植中protoc插件的库依赖问题

看起来你在Yocto Pyro环境下给ARM平台移植gRPC时,遇到了grpc_cpp_plugin找不到libprotoc.so.15的问题,这是因为Yocto构建的工具链组件依赖库不在系统默认的动态库搜索路径里,下面是几个可行的解决办法:

  • 临时设置动态库搜索路径
    首先找到libprotoc.so.15的具体位置,执行以下命令:

    find /home/admin/BUILD/tmp/sysroots-components/x86_64/grpc-native -name libprotoc.so.15
    

    假设搜索结果是/home/admin/BUILD/tmp/sysroots-components/x86_64/grpc-native/usr/lib/libprotoc.so.15,就把这个路径添加到LD_LIBRARY_PATH环境变量中,再执行protoc命令:

    export LD_LIBRARY_PATH=/home/admin/BUILD/tmp/sysroots-components/x86_64/grpc-native/usr/lib:$LD_LIBRARY_PATH
    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
    
  • 使用Yocto的构建环境脚本
    更规范的做法是先加载Yocto的构建环境,这样会自动配置好所有工具链的依赖路径。回到你的Yocto构建目录,执行:

    source oe-init-build-env
    

    之后再运行你的protoc命令,这时候环境会自动识别到grpc-native组件里的依赖库,不需要手动设置路径。

  • 重新构建grpc-native组件
    如果上面的方法都不行,可能是grpc-native组件的构建不完整,导致libprotoc.so.15没有被正确安装到sysroot中。可以尝试清理并重新构建该组件:

    bitbake grpc-native -c cleanall && bitbake grpc-native
    

    构建完成后再尝试执行protoc命令。

内容的提问来源于stack exchange,提问作者Jay ganatra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:57:15