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 - 简书

相关推荐
Lucky092815 小时前
codex 安装前置软件
linux·运维·macos
Zguigo1 天前
lesson24-26计算机网络第三章精讲:从MAC地址到CSMA/CD,数据链路层核心知识一网打尽
计算机网络·macos
EXI-小洲1 天前
MacOS 环境下 IntelliJ IDEA 的 Maven 配置指南
macos·maven·intellij-idea
aspirant-complete2 天前
MAC(Apple Silicon)嵌入式基于Clion(stm32CubeMX)环境搭建
stm32·macos
EXI-小洲2 天前
MacOS IDEA将本地项目代码上传至SVN空仓库
macos·svn·intellij-idea
weixin_531670893 天前
Interlude起来:久坐提醒软件为什么需要登录?有没有完全本地运行的Mac休息提醒软件?
人工智能·macos·swift
coding4u3 天前
Mac 多桌面(Spaces)的正确用法:你的屏幕可以大三倍
macos·docker·计算机外设·文件管理·策略模式
weixin_531670895 天前
Interlude起来:Swift原生Mac软件有什么优势?原生Mac应用和Electron应用有什么区别?
人工智能·macos·mac·swift
k4m7v2pz5 天前
Swift Package Manager 在 macOS 26 上的三个编译错误排查指南
macos·spm·ai编程·xcode·swift·命令行工具
zhonyu鱼5 天前
Pot 翻译:开源免费的跨平台划词翻译与 OCR 工具
windows·macos·开源·ocr·开源软件