您的位置:首页 > 汽车 > 时评 > 企业密信_seo教程合集_ps培训_app广告推广

企业密信_seo教程合集_ps培训_app广告推广

2025/1/7 14:45:44 来源:https://blog.csdn.net/auccy/article/details/144868803  浏览:    关键词:企业密信_seo教程合集_ps培训_app广告推广
企业密信_seo教程合集_ps培训_app广告推广

这两天维护的一个项目,使用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!!!

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com