protobuf for iOS 64位

iOS开发中使用protobuf遇到的一些问题 Protocol Buffers 是googol提供的,一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。 项目中对通讯协议部分的数据处理时,使用protobuf对socket的字节 阅读详情
在google/protobuf/stubs/platform_macros.h的60行与61行之间加入

#elif defined(__aarch64__)

#define GOOGLE_PROTOBUF_ARCH_ARM 1

#define GOOGLE_PROTOBUF_ARCH_64_BIT 1

整个文件如下:

// Protocol Buffers - Google's data interchange format

// Copyright 2012 Google Inc.  All rights reserved.

// http://code.google.com/p/protobuf/

//

// Redistribution and use in source and binary forms, with or without

// modification, are permitted provided that the following conditions are

// met:

//

//     * Redistributions of source code must retain the above copyright

// notice, this list of conditions and the following disclaimer.

//     * Redistributions in binary form must reproduce the above

// copyright notice, this list of conditions and the following disclaimer

// in the documentation and/or other materials provided with the

// distribution.

//     * Neither the name of Google Inc. nor the names of its

// contributors may be used to endorse or promote products derived from

// this software without specific prior written permission.

//

// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR

// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


#ifndef GOOGLE_PROTOBUF_PLATFORM_MACROS_H_

#define GOOGLE_PROTOBUF_PLATFORM_MACROS_H_


#include <google/protobuf/stubs/common.h>


// Processor architecture detection.  For more info on what's defined, see:

//   http://msdn.microsoft.com/en-us/library/b0084kay.aspx

//   http://www.agner.org/optimize/calling_conventions.pdf

//   or with gcc, run: "echo | gcc -E -dM -"

#if defined(_M_X64) || defined(__x86_64__)

#define GOOGLE_PROTOBUF_ARCH_X64 1

#define GOOGLE_PROTOBUF_ARCH_64_BIT 1

#elif defined(_M_IX86) || defined(__i386__)

#define GOOGLE_PROTOBUF_ARCH_IA32 1

#define GOOGLE_PROTOBUF_ARCH_32_BIT 1

#elif defined(__QNX__)

#define GOOGLE_PROTOBUF_ARCH_ARM_QNX 1

#define GOOGLE_PROTOBUF_ARCH_32_BIT 1

#elif defined(__ARMEL__)

#define GOOGLE_PROTOBUF_ARCH_ARM 1

#define GOOGLE_PROTOBUF_ARCH_32_BIT 1

#elif defined(__MIPSEL__)

#define GOOGLE_PROTOBUF_ARCH_MIPS 1

#define GOOGLE_PROTOBUF_ARCH_32_BIT 1

#elif defined(__pnacl__)

#define GOOGLE_PROTOBUF_ARCH_32_BIT 1

#elif defined(__ppc__)

#define GOOGLE_PROTOBUF_ARCH_PPC 1

#define GOOGLE_PROTOBUF_ARCH_32_BIT 1

#elif defined(__aarch64__)                  // 新加入的

#define GOOGLE_PROTOBUF_ARCH_ARM 1

#define GOOGLE_PROTOBUF_ARCH_64_BIT 1       // 新加入的

#else

#error Host architecture was not detected as supported by protobuf

#endif


#if defined(__APPLE__)

#define GOOGLE_PROTOBUF_OS_APPLE

#elif defined(__native_client__)

#define GOOGLE_PROTOBUF_OS_NACL

#endif


#endif  // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_



mac下交叉编译protobuf静态库。解决protobuf在iPhone 5s,iPad air,iPad mini2上crash的问题。 背景 项目中使用protobuf作为网络传输协议,最开始在项目中直接使用源代码编译,在真机上测试一直是正常的,直到某天开始在64bit cpu的设备上发现protobuf导致crash了,于是就开始尝试使用.a静态库看看是否能解决问题。 开发环境 OS X 10.9 MavericksXCode 5.0.2protobuf 2.5.0IOS7 Crash现象 阅读详情

相关推荐

iOS protobuf3.1.0使用

Protobuf简介Protocol Buffer是google 的一种数据交换的格式,已经在Github开源,目前最新版本是3.1.0。它独立于语言,独立于平台。google 提供了多种语言的实现:Java、C#、C++、Go 和 Python,Objective-C,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 XML 进行数据交换快许多。可以把它用于分布式应用

小球why的博客 2780

android 32位 v8编译错误,makefile - android使用arm64-v8a ABI编译错误“未定义引用” - 堆栈内存溢出...

环境:protocol buffer: 2.5.0ndk: android-ndk-r13bant: apache-ant-1.9.4cocos2d-x: 3.12os: mac 10.12但是最近我必须将arm64-v8a添加到APP_ABI中,并且开始出现以下错误:stubs/once.h:125: undefined reference togoogle::protobuf::interna...

weixin_29107819的博客 935

iOS 整理基于socket集成Protobuf相关环境,以及将Protobuf文件转成OC文件,以及使用Protobuf

iOS 整理基于socket集成Protobuf相关环境,以及将Protobuf文件转成OC文件,以及使用ProtobufProtobuf简介 Protocol Buffer是google 的一种数据交换的格式,已经在Github开源,目前最新版本为3.4.0 说明 protobuf3.0.0以上才官方支持Objective-C,低于3.0.0的请忽略或使用第三方转换工具 开发环境:32bit

qq_37079633的博客 1022

Google Protobuf will not build under ARM64

What steps will reproduce the problem? 1. Build Google protobuf code for ARM64 target What is the expected output? What do you see instead? I expected it to buid cleanly, instead I hit the "#error Ho

Deep_Coder的专栏 5395

Protobuf 2.6.1 在Android与iOS平台的编译与集成

Protocol Buffers (protobuf) 是由 Google 开发的一种数据描述语言,用于定义数据的结构,类似于 XML 或 JSON。最初设计于 2001 年,并在 2008 年开源。它的目的是解决跨多种语言和平台的数据序列化问题,提高性能,并简化数据的使用。随着不断的发展,protobuf已经成为多种编程语言支持的标准序列化格式。在项目的文件中,添加protobuf依赖项:groovy下载适用于Android的protobuf编译器protoc。

weixin_34162851的博客 550

protobuf ios静态库打包教程使用 xocde6包含 arm64 支持

iOS 静态库 protobuf arm64 armv7 armv7s 添加了 arm64 支持 ,并且 解决了由于 APPLE 在官方库中引用protobuf 导致定冲突 问题

arm64交叉编译protobuf 3.12.0

arm64交叉编译 protobuf

m0_55144543的博客 2267

protobuf源码和静态库,环境为Windows平台X64

protobuf源码和静态库,环境为Windows平台X64

ios开发使用xcode6打包protobuf静态库 解决了 官方引用 protobuf 导致的冲突问题 包含 arm64 支持

1、下载 protobuf-2.5.0-mast ,并解压 2、在解压后的  目录内部建立一个 目录 名字随便写,我这里写的 是 xcodeProject 如图:

滴水成川 9907

Coze平台智能体开发实战:打造测试工程师的AI助手

智能体是具备特定身份和能力的AI实体,由大语言模型(LLM)驱动,并通过插件、知识库和工作流扩展其能力。明确的角色定位:可以设定特定身份和专业领域扩展能力:通过插件连接外部工具和服务记忆能力:通过知识库存储和检索专属信息流程化处理:通过工作流执行复杂多步任务通过Coze平台创建测试工程师智能体,可以显著提升测试效率和质量。明确的角色定位:聚焦测试工程师的实际需求丰富的知识库:提供准确的领域知识支持合适的工具集成:通过插件连接现有工具链持续迭代优化:根据反馈不断改进智能体行为自动化测试生成。

hogwarts_beibei的博客 1004

MT4-EA自动化交易研究笔记(2022-04-22)

自从接触到mt4的EA自动化交易,更让我这个10多年的老程序员看到了曙光,目前来看也确实出了一点成果,只是是否能稳定盈利有待时间的考验,所以开此专栏,一来做做记录与分析,更好的优化我的EA,二来也希望能与更多的高手交流,以完善我的交易系统

t35254056的博客 2290

【Cmake/Protobuf】交叉编译时,cmake中使用find_package失败问题

交叉编译时,cmake中使用find_package失败问题如何解决

gcs_20210916的博客 8188

电商产品组合策略:引流品与利润品的实战方法论

在电商运营中,产品组合策略是提升流量转化与利润增长的核心技术。其基本原理是通过数据化选品构建产品矩阵,利用引流品吸引用户流量,再通过利润品实现商业变现。这种策略不仅能优化广告投放的ROAS(广告投入产出比),还能显著提升客单价。技术实现上需要结合Google Analytics等工具进行归因分析,并运用动态库存管理模型控制风险。该方案特别适用于Amazon、Shopify等电商平台,能有效解决跨境电商业内流量获取与利润创造的平衡难题。通过实战案例可见,合理的产品组合可使客单价提升30-50%,是电商运营必备

weixin_42522009的博客 350

mac上用于编译Google Protobuf 2.5.0 for Xcode5.0/iOS7的脚本【原创】

由于项目需求,要使用ProtoBuf,关于ProtoBuf的介绍。protobuf介绍 从GitHub上找到老外写的强大的脚本,将Mac上安装ProtoBuf的过程全部整合到一个脚本中。 该脚本完美解决mac上开发IOS软件protobuf的环境问题!点击查看,下载 ------------------------------------------------------

郭晓东的专栏 2万+

Windows下Colmap编译安装全攻略:从Boost到CUDA的避坑指南

本文详细介绍了在Windows系统下编译安装Colmap三维重建工具的完整流程与实战经验。针对Boost库版本兼容性、CUDA与Visual Studio的版本匹配等常见难题提供了具体的避坑指南和解决方案,帮助开发者高效完成从环境配置到最终部署的全过程。

weixin_28235513的博客 198

滑模控制理论(SMC)概述

滑模控制理论(SMC)概述一、背景二、数学理论三、高维拓展四、分析 一、背景 滑模控制理论(Sliding Mode Control, SMC)是一种建立在现代控制理论基础上的控制理论,主要数学核心为李雅普诺夫函数。 滑模控制的核心思想是建立一个滑模面,将被控系统拉取到滑模面上来,使系统沿着滑模面运动。滑模控制的一个优势是无视外部扰动和不确定参数,采用一种比较“暴力”的方式达到控制的目的。 其思想和反步法有些类似,但数学实现起来更加方便而不抽象。相比反步法,滑模控制没有复杂的数学计算,也不会出现“微分爆炸”

高能阿博特的博客 6万+

如何编译protobuf for IOS

在为IOS平台编译google protobuf时,我自己制作了一个脚本 :protobuf-build-script 该脚本可以自动下载指定版本的源码,并且进行编译,可以修改脚本内部的版本号来编译各个版本。 一次编译直接生成armv7 armv7s arm64静态库。 xcode8 protobuf-2.6.1 测试通过。 希望大家一起维护这个脚本。 ...

我是榜样的博客 958

历年CSP-J(NOIP普及组)考点分析与分类汇总(纯干货)

noip/csp-j历年真题考点分类

weixin_42358969的博客 1万+

iOS-app 支持arm64位出现的一些小问题

看吧,又是protobuf的问题,如其说是系统,苹果问题,到头来还不是第三方库,开源的问题。。。。 protobuf号称夸平台,还不是有这样那样的问题,开源就是这样,永动机谁不会说?可真做不出来的,这么看来jvm整个实现却是无敌的 2015年2月起, 苹果将拒绝不支持arm64的应用, 未雨绸缪,最近有点时间,先研究起来. 首先明确一点是, arm64是新的cpu架构

大话程序员 2317

uniapp - 实现安卓App打包上架应用商店详细教程,详解Hbuilder打包编译apk发布上传到应用市场全流程,提供uniApp云打包、离线打包app、原生本地打包,附带APP备案和安卓证书申请

uni-app,安卓,APP,应用商店,打包编译apk,上架到应用市场,如何打包app并发布到主流应用市场,发布为AndroidApp流程,应用备案,如何申请安卓证书,hbuilder发布安卓apk后怎么上传到各家软件商店,创建app证书,uniapp发行原生APP本地打包安卓APK,详细最全的步骤教程,项目打包成apk,云打包,安心打包,安卓app离线打包,一直审核不通过,被拒绝,不符合规范,上架发布失败,申请安卓证书和获取证书信息,uni-app打包发布安卓Android软件到各大应用商店,腾讯应用

🏆 前端领域优质创作者 1万+

GEE生物量预测:利用多源遥感数据和随机森林算法RF构建地上生物量(AGB)预测模型,并实现未来年份的生态变化模拟(大面积生物量反演)

数据融合策略:整合5类遥感产品(AGB、NDVI、LAI、土地覆盖、地形)时序特征构建:采用生长季中值法降低云污染影响机器学习优化分层采样保证数据代表性80棵决策树平衡精度与效率预测可靠性基准期R²达0.76需结合地面实测数据校正。

此星光明博客 419

ios-app支持arm64位时, 一些问题的研究

2015年2月起, 苹果将拒绝不支持arm64的应用, 未雨绸缪,最近有点时间,先研究起来. 首先明确一点是, arm64是新的cpu架构, 它主要在寻址范围和数值容量上有了质的改进,但对它的支持要求,相关代码要定义出两套来 (用__LP64__宏来区别). 比如void* 的值, 不能再赋值给int变量了. 把项目改成支持arm64: XCode工程里, Target中, Build

TerrenceRao 健康,快乐,进取 2049

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

iOS protobuf的配置

第一种(第一次安装) 1、下载autoreconf对应的三个编译软件 你需要安装很多东西,请按照以下顺序安装: 安装的版本包也不能错: curl -O  http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz  tar -xzvf m4-1.4.13.tar.gz  cd m4-1.

qq_31292239的博客 492

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

QT On IOS + protobuf3的使用

如果你看到了这个,并且你还有在android上面使用的需求,请看我另外一篇博文。 因为需要用到,确实也百度和谷歌找了很多,基本没什么关于protobuf3+QT的使用的,大部分都是讲protobuf2.6的。功夫不负有心人,终于搞定了protobuf3+qt的使用。 1、编写编译脚本 该脚本源自于git,点击前往git 如果直接使用该脚本,则可以生成protobuf2.6的,可以使用。

JcMilktea的博客 1209

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

iOS集成Protobuf相关环境,以及将Protobuf文件转成OC文件

Protobuf简介: Protocol Buffer是google 的一种数据交换的格式,已经在Github开源,目前最新版本为3.4.0 说明: protobuf3.0.0以上才官方支持Objective-C,低于3.0.0的请忽略或使用第三方转换工具 开发环境:32bit & 64bit iOS, 64bit OS X,Xcode7.0+ 基于性能原因没有使用ARC,但可以被...

Zero_World的专栏 1276
上一篇: 游戏客户端中的常用模块
下一篇: linux下tar命令详解(转)
woodcol
博客等级 码龄19年 288粉丝 429原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值