当前位置: 首页 > article >正文

Cocos2dx Lua绑定生成中间文件时参数类型与源码类型不匹配

这两天维护的一个项目,使用arm64-v8a指令集编译时遇到了报错,提示类型不匹配,具体报错的代码【脚本根据C++源文件生成的中间文件】如下:

 const google::protobuf::RepeatedField<unsigned long long>& ret = cobj->equips();

C++源代码: 

inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >&
TankInfo::equips() const {
  // @@protoc_insertion_point(field_list:data.TankInfo.equips)
  return equips_;
}

可以看到生成中间代码时,定义参数的类型确实发生了变化,由::google::protobuf::uint64变成了unsigned long long,经过多次测试,发现脚本在解析.h时,类型便发生了改变,没办法只能调整generator.py脚本了

调整之后的脚本如下:

运行脚本,生成的最新代码如下:

const google::protobuf::RepeatedField< ::google::protobuf::uint64 >& ret = cobj->equips();

至此类型匹配,编译测试OK!!!

至于为什么解析时未按照原来的类型记录,我就不纠结了。。。


http://www.kler.cn/a/467083.html

相关文章:

  • Redis--高可用(主从复制、哨兵模式、分片集群)
  • 【数据结构】链表(2):双向链表和双向循环链表
  • v-model与 mvvm 回顾
  • npm install --global windows-build-tools --save 失败
  • 东京大学联合Adobe提出基于指令的图像编辑模型InstructMove,可通过观察视频中的动作来实现基于指令的图像编辑。
  • 开源存储详解-分布式存储与ceph
  • 综合课程设计I报告题目: 血氧仪设计
  • SCT12A0,一款2.7V-14V Vin、30W全集成同步升压转换器
  • 【hustoj注意事项】函数返回值问题
  • asp.net core 属性路由和约定路由
  • 用Redis缓存数据、SpringCache
  • lovelyAIMaster - 在windows任何地方调用AI进行输入
  • 如何批量注册Outlook邮箱账号并防止关联?
  • MySQL(五)MySQL图形化工具-Navicat
  • Oracle 多租户架构简介
  • 深入浅出 Pytest:自动化测试的最佳实践 pytest教程 程序测试 单元化测试
  • 面向对象分析和设计OOA/D,UML,GRASP
  • vue代理问题
  • 对计网大题的一些指正(中间介绍一下CDM的原理和应用)
  • 51单片机——按键实验
  • YOLOv10-1.1部分代码阅读笔记-autobackend.py
  • python3GUI--智慧交通监控与管理系统 By:PyQt5
  • Chromebook 的 4 个最佳变声器
  • Dart语言的软件工程
  • 回调机制实现观察者模式
  • 什么是索引