【KAWAKO】MNN-1.2.0版本交叉编译遇到的错误与解决方法
2024-10-12 09:37:48
目录
在使用gcc-linaro-7.5.0-aarch64-linux-gnu、gcc-linaro-6.3.1-aarch64-linux-gnu交叉编译链对MNN1.2.0进行交叉编译的过程中,make的时候遇到了一个报错。
error: cannot convert 'int8x16_t {aka __vector(16) signed char}' to 'int32x4_t {aka__vector(4) int}' for argument '1' to 'int32x4_t vtrnlq_s32(int32x4_t, int32x4_t)'
发生错误的源代码在./source/backend/cpu/compute/WinogradInt8Helper.cpp
的第39~44行。
大概原因是在定义m0m3的时候,传入vtrn1q_s32()函数的vec0.valuevec3.value是int8x16_t型的,而vtrn1q_s32()函数需要传入int32x4_t型的参数,所以发生了类型冲突。
在这里有人反映了相同与类似的错误,有人回答说在mater版本的MNN中已经修复,但我使用mater版本的MNN进行交叉编译仍然会出现相同的错误。
后来在这里发现了一模一样的错误与另一种解决方案,即使用reinterpret_cast()函数进行强制转换。
具体的修改代码在我在图中用红框标出来的这个链接里。
修改后的代码如下。
随后重新进行交叉编译,编译成功。
最新文章
- C#设计模式之简单工厂模式(Simple Factory)
- 高性能Mysql主从架构的复制原理及配置详解
- ssh框架的工作原理
- GPIB:永远不会被淘汰 (转载)
- TQJson序列和还原clientdataset.data
- C#实现网络传输数据加密
- Ext.Net 使用总结之GridPanel的删除事件
- Group By 多个分组集小结 --GROUPING SETS,GROUP BY CUBE,GROUP BY ROLLUP,GROUPING(),GROUPING_ID()
- redis权限认证(设置密码)的方法
- Windows系统下文件的概念及c语言对其的基本操作(乙)
- 静态成员static
- EntityFramework+EntityFramework.SqlServerCompact部署网站
- Request类源码分析
- js Infinity 属性
- LA 3890 Most Distant Point from the Sea(半平面交)
- SpringBoot_Mybatis_Maven_BootStrap
- gridview 合并单元格 并原样导出数据
- 02-urllib库的get请求方式
- Dubbo简单介绍及其和zookeeper的关系
- up6-chrome 45+安装教程
热门文章
- MySQL遇到的坑:sql_mode=only_full_group_by不兼容
- 一文带你了解 Spring 的@Enablexxx 注解
- 【离线数仓】Day03-系统业务数据仓库:数仓表概念、搭建、数据导入、数据可视化、Azkaban全调度、拉链表的使用
- python基础之hashilb模块、logging模块
- ORM增删改查 django请求生命周期图 django路由层及反向解析
- python 实现RSA公钥加密,私钥解密
- [0x11] 131.直方图中最大的矩形【单调栈】
- AVM 拖动组件 movable-view 介绍
- screenfetch—最炫酷的查看你的设备信息
- Hexo博客搭建记录