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. 找到以下代码

    java 复制代码
    #else
    #error Host architecture was not detected as supported by protobuf
  5. 在上面增加

    java 复制代码
    #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目录

    java 复制代码
    //默认安装到/usr/local
    ./configure 
    make
    sudo make install
    protoc --version //查看是否安装成功

    卸载

    java 复制代码
    $ which protoc
      /usr/local/bin/protoc
    $ sudo rm /usr/local/bin/protoc

    上面参考

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

java 复制代码
./configure
make
make check
make install
  1. 然后开始安装,中间会需要你同意,并按回车键,知道需要你输入命令

  2. 输入"sudo xcodebuild -license"命令,然后输入电脑密码

  3. 然后继续按回车键

  4. 到下图这一步的时候你需要输入"agree",表示同意软件许可条款

  5. 验证
    执行下面检查protoc命令是否存在

    java 复制代码
    which protoc

    注意事项

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

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

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

相关推荐
卜锦元8 小时前
nvm常用命令(nodejs)
macos·编辑器·nodejs·开发工具
小鸡脚来咯17 小时前
怎么配置主机名映射?
linux·windows·macos
牛奔19 小时前
macOS 使用 conda,同时本地安装了python,遇到 ModuleNotFoundError: No module named ‘xxx‘` 解决
开发语言·python·macos·conda
川川菜鸟20 小时前
Codex+ 中转 API 部署教程(Mac版)
macos
rockage21 小时前
【技巧】MacOS下使用LaunchDaemons实现开机自启动
macos
青花锁1 天前
Mac电脑安装Docker
macos·docker·容器
李玮豪Jimmy2 天前
MacOS 上安装 JDK 并实现多版本灵活切换
macos
mixboot2 天前
VoxCPM 1.5.0 macOS
macos·voxcpm
甜可儿2 天前
mac环境安装不同版本maven
java·macos·maven
bl4ckpe4ch2 天前
从零开始Mac OS 开荒整理笔记
笔记·macos·开荒