当前位置: 首页 > article >正文

Mac M1 M1 pro安装 protobuf 2.5.0

因为项目中的protobuf是2.5.0版本,但是旧版本的protobuf 不支持M1,此时需要修改源码重新编译

操作步骤:

  1. 从git上面下载对应版本的protobuf,地址:Release Protocol Buffers v2.5.0 · protocolbuffers/protobuf · GitHub
  2. 滑动到最下面选择
  3. 解压进入src/google/protobuf/stubs/这个目录下,编辑platform_macros.h
  4. 找到以下代码
    #else
    #error Host architecture was not detected as supported by protobuf
  5. 在上面增加
    #elif defined(__arm64__)
    #define GOOGLE_PROTOBUF_ARCH_ARM 1
    #define GOOGLE_PROTOBUF_ARCH_64_BIT 1

    最终结果如下图

  6. 在源码根目录下执行(****/protobuf-2.5.0/) cd 到protobuf-2.5.0目录
    //默认安装到/usr/local
    ./configure 
    make
    sudo make install
    protoc --version //查看是否安装成功

    卸载

    $ which protoc
      /usr/local/bin/protoc
    $ sudo rm /usr/local/bin/protoc
    

    上面参考

  7. 下面是第二种安装方案,我测试没有成功

  8. ./configure
    make
    make check
    make install
  9. 然后开始安装,中间会需要你同意,并按回车键,知道需要你输入命令
  10. 输入"sudo xcodebuild -license"命令,然后输入电脑密码
  11. 然后继续按回车键
  12. 到下图这一步的时候你需要输入"agree",表示同意软件许可条款
  13. 验证
    执行下面检查protoc命令是否存在
    which protoc
    

    注意事项

    下载红框里的tag版本后重新编译,不是下载source code哦

  14. 参考链接ProtoBuf2.5.0 Mac M1 cpu make failed · Issue #8836 · protocolbuffers/protobuf · GitHub

  15. 参考Mac M1(Apple Silicon) 安装 protobuf 2.5.0 - 简书


http://www.kler.cn/a/133988.html

相关文章:

  • ESLint 使用教程(五):ESLint 和 Prettier 的结合使用与冲突解决
  • Java面向对象高级2
  • MySQL系列之如何在Linux只安装客户端
  • 【Linux】TCP原理
  • 【pytorch】常用强化学习算法实现(持续更新)
  • idea 解决缓存损坏问题
  • vue中使用echarts实现省市地图绘制,根据数据显示不同区域颜色,点击省市切换,根据经纬度打点
  • 【VSCode】Visual Studio Code 配置简体中文环境教程
  • 10个提高VS Code工作效率的技巧
  • 【Linux网络】典型NAS存储方式:NFS网络共享存储服务
  • Android跨进程通信,IPC,RPC,Binder系统,C语言应用层调用
  • 批量替换WordPress文章内图片链接
  • vue3.0中实现excel文件的预览
  • 07-流媒体-RTMP推流
  • 实战项目:VB龟兔赛跑游戏+猜数字游戏
  • vue3安装vue-router
  • 云计算(Docker)
  • 文件转换,简简单单,pdf转word,不要去找收费的了,自己学了之后免费转,之后就复制粘贴就ok了
  • how to find gcc openbug
  • mysql 设置远程登录
  • 【数据结构&C++】二叉平衡搜索树-AVL树(25)
  • 系列五、怎么查看默认的垃圾收集器是哪个?
  • Java 语言关键字有哪些
  • 【0234】PgBackendStatus 记录当前postgres进程的活动状态
  • GDPU 数据结构 天码行空10
  • 华为OD机试 - 转盘寿司(Java JS Python C)