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生成

  • 配置

    powershell 复制代码
    ./configure
    // ./configure --prefix=/Users/xxx/protobuf(prefix 为安装目录,可自定义)

  • 编译和安装

    powershell 复制代码
    make
    powershell 复制代码
    sudo make install
  • 验证安装

    powershell 复制代码
    protoc --version
    libprotoc 3.21.12
  • 安装位置

    powershell 复制代码
    which protoc
    /usr/local/bin/protoc
  • 配置环境变量

    powershell 复制代码
    vim ~/.zshrc
    
    export PROTOBUF=/usr/local/bin/protoc
    export PATH=$PROTOBUF/bin:$PATH
    
    source ~/.zshrc

3.22之后版本安装使用cmake

  • 运行CMake配置

    powershell 复制代码
    cmake .
  • 报错,缺少 Abseil

    powershell 复制代码
    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.

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

    查看官方解释:cmake/README.md,需要下载Abseil

  • 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/目录下即可,不需要单独安装

  • 在源码路径下开始编译

    powershell 复制代码
    cmake . -DCMAKE_CXX_STANDARD=14
    
    // -Dprotobuf_BUILD_TESTS=OFF //配置CMake以跳过测试构建
    powershell 复制代码
    cmake --build .

    可以看到当前目录下已经可以查看编译完的protoc的版本了

  • 安装

    powershell 复制代码
    sudo make install

  • 查看安装位置和全局版本

    powershell 复制代码
    which protoc
    
    protoc --version

使用编译后的版本

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

  • 选择对应平台下载 protoc-<version>-<os>-<arch>.zip

  • 解压

  • 命令行查看

    powershell 复制代码
    cd /Users/xx/protoc-25.0-osx-aarch_64/bin
    
    ./protoc --version
    libprotoc 25.0

将这个包放入自定义文件夹,设置环境变量即可

相关推荐
女神下凡39 分钟前
RISC‑V 对比 ARM,实际项目到底怎么选?
arm开发
ACP广源盛139246256731 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#IX6024 PCIe2.0 交换芯片在轻量化 AI 服务中的机会与应用场景
大数据·数据库·人工智能·嵌入式硬件·macos·开源
sysinside2 小时前
VMware Fusion 26H1u1 for Mac - 领先的免费桌面虚拟化软件
macos·fusion
夕小瑶3 小时前
豆包工作」升级实测:多Agents并行,操作Mac电脑
macos
黄一一91124316 小时前
跨平台视频图片压缩互转!离线视频压缩工具!Github开源轻松无损压缩视频!Win/Mac/Linux三端通用开源工具
windows·macos·音视频·开源软件
秋雨梧桐叶落莳1 天前
【iOS】从源码深入理解RunLoop机制
macos·ios·objective-c·cocoa·cocoapods·uikit
别走!万哥爱你1 天前
Mac访达中不显示iPad或iPhone怎么办?
macos·iphone·ipad
ACP广源盛139246256731 天前
M6/M5 Pro Mac mini 端侧 AI 爆发@ACP#YLB3118 存储扩展芯片在本地 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
guo_wen_qiang1 天前
mac中docker desktop服务端开启远程访问
运维·服务器·macos·docker
OsDepK2 天前
xcode应用构建至testflight测试流程
ide·macos·xcode