MacM1(ARM)安装Protocol Buffers

这篇具有很好参考价值的文章主要介绍了MacM1(ARM)安装Protocol Buffers。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MacM1(ARM)安装Protocol Buffers

protobuf下载地址:https://github.com/protocolbuffers/protobuf/releases

在运行./autogen.sh./configure命令时出现"No such file or directory"错误,是因为protobuf版本或构建方式的问题

3.21之前版本安装使用configure

如果没有configure需要先运行./autogen.sh生成
MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbufMacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

  • 配置

    ./configure
    // ./configure --prefix=/Users/xxx/protobuf(prefix 为安装目录,可自定义)
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbufMacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf
  • 编译和安装

    make
    
    sudo make install
    
  • 验证安装

    protoc --version
    libprotoc 3.21.12
    
  • 安装位置

    which protoc
    /usr/local/bin/protoc
    
  • 配置环境变量

    vim ~/.zshrc
    
    export PROTOBUF=/usr/local/bin/protoc
    export PATH=$PROTOBUF/bin:$PATH
    
    source ~/.zshrc
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

3.22之后版本安装使用cmake

  • 运行CMake配置

    cmake .
    
  • 报错,缺少 Abseil

    CMake Error at third_party/utf8_range/CMakeLists.txt:31 (add_subdirectory):
      The source directory
    
        /xxx/protobuf-25.0/third_party/abseil-cpp
    
      does not contain a CMakeLists.txt file.
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

    https://github.com/protocolbuffers/protobuf/issues/12016

    查看官方解释:cmake/README.md,需要下载Abseil
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

  • abseil-cpp下载
    官方github:https://github.com/abseil/abseil-cpp/releases
    单独安装:https://abseil.io/docs/cpp/quickstart-cmake#getting-the-abseil-code

  • 将abseil-cpp内容放入/third_party/abseil-cpp/目录下即可,不需要单独安装
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

  • 在源码路径下开始编译

    cmake . -DCMAKE_CXX_STANDARD=14
    
    // -Dprotobuf_BUILD_TESTS=OFF //配置CMake以跳过测试构建
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf
    cmake --build .
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbufMacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

    可以看到当前目录下已经可以查看编译完的protoc的版本了
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

  • 安装

    sudo make install
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbufMacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf
  • 查看安装位置和全局版本

    which protoc
    
    protoc --version
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

使用编译后的版本

不需要编译,直接使用,参考:https://grpc.io/docs/protoc-installation/

  • 选择对应平台下载 protoc-<version>-<os>-<arch>.zip
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

  • 解压
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

  • 命令行查看

    cd /Users/xx/protoc-25.0-osx-aarch_64/bin
    
    ./protoc --version
    libprotoc 25.0
    
    MacM1(ARM)安装Protocol Buffers,go,# protocbuf,macos,arm开发,protocbuf

将这个包放入自定义文件夹,设置环境变量即可文章来源地址https://www.toymoban.com/news/detail-751747.html

到了这里,关于MacM1(ARM)安装Protocol Buffers的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • macm1环境下IDEA项目切换jdk版本

    背景需求 项目基于 springboot3.0.7 + Nacos2.2.3 + seata1.6.1 由spring官方文档可以看到, springboot3.0 是需要用 java17 的 https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available 本地jdk为 openjdk1.8 , springboot3 需要 jdk17 ,但是不想破坏 本地jdk 环境,所以 只针对某个项目单独设定 下载对应

    2024年02月08日
    浏览(45)
  • 如何在Windows、Mac和Linux操作系统上安装Protocol Buffers(protobuf)编译器

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(73)
  • MacM1Pro Parallels19.1.0 CentOS7.9 Install PostgrepSQL

    相关阅读 MacM1Pro安装 Parallels Desktop 19.1.0 https://blog.csdn.net/qq_41594280/article/details/135420241 MacM1Pro Parallels安装Parallels Tools https://blog.csdn.net/qq_41594280/article/details/135398780 MacM1Pro Parallels安装CentOS7.9 https://blog.csdn.net/qq_41594280/article/details/135420461 注: 默认情况下,PostgreSQL 配置为仅本地访

    2024年01月22日
    浏览(41)
  • 本地推理,单机运行,MacM1芯片系统基于大语言模型C++版本LLaMA部署“本地版”的ChatGPT

    OpenAI公司基于GPT模型的ChatGPT风光无两,眼看它起朱楼,眼看它宴宾客,FaceBook终于坐不住了,发布了同样基于LLM的人工智能大语言模型LLaMA,号称包含70亿、130亿、330亿和650亿这4种参数规模的模型,参数是指神经网络中的权重和偏置等可调整的变量,用于训练和优化神经网络

    2024年01月22日
    浏览(41)
  • Protocol Buffers教程

    Protocol Buffers教程 Protocol Buffers简介 下载安装Protocol Buffers编译器 编写第一个protobuf文件,并编译成go文件 Protocol Buffers定义消息类型 Protocol Buffers基本数据类型 Protocol Buffers枚举类型 Protobuf生成的go源码分析 Protobuf序列化和反序列化 protobuf和json相互转换 在protobuf中定义服务

    2024年02月09日
    浏览(52)
  • iOS 如何使用protocol Buffers

    一、Protocol buffers 是什么? Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to a

    2024年01月19日
    浏览(40)
  • 【Java万花筒】选择最适合您的数据序列化格式:比较 Avro、Protocol Buffers、JSON、XML、MessagePack和BSON

    在当今数据驱动的世界中,高效地处理和传输数据变得至关重要。选择合适的数据序列化格式对于数据存储、通信和处理的性能至关重要。本文将介绍并比较几种常用的数据序列化格式,包括Apache Avro、Protocol Buffers、JSON、XML、MessagePack和BSON。通过了解它们的概述、特点、应用

    2024年02月20日
    浏览(57)
  • G0第26章:微服务概述与gRPCprotocol buffers

    单体架构(电商) SOA架构(电商) 微服务架构(电商) 优势 挑战 拆分 发展史 第一代:基于RPC的传统服务架构 第二代:Service Mesh(istio) 微服务架构分层 核心组件 Summary 2、什么是RPC RPC (Remote Procedure Call),即远程过程调用。它允许像调用本地服务一样调用远程服务。 RPC是一种服

    2024年02月12日
    浏览(31)
  • GreenPlum中性能调优之shared_buffers修改

    问题背景:刚刚安装完的GreenPlum集群默认shared_buffers为128MB,为了提升系统性能需要修改。 shared_buffers:该参数决定了 Greenplum 数据库在内存中缓存数据的大小。建议将该参数设置为总内存的 25% 左右。官方文档中建议修改为机器物理内存的1/8-1/4,书籍推荐10-25%。 查看当前数据

    2024年02月09日
    浏览(48)
  • 计算机体系结构第五次实验——Branch-Target Buffers(BTB)

    本次实验的主要目的是加深对Branch-Target Buffers的理解。掌握使用Branch-Target Buffers减少或增加分支带来的延迟的情况。 在使用forwarding的情况下,对比采用BTB与不采用BTB技术时流水线的变化。重点分析两种情况下每次循环的stall周期数,都是由什么原因造成的?重点分析与分支指

    2024年02月04日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包