踩坑日记:#error “NEON support not enabled“

博主在进行cmake交叉编译时遇到报错,通过搜索多个链接获取解决方案,如使用特定编译指令、指定编译器、在CMAKEList.txt里添加代码等,但均未解决问题。最后在NDK的android.toolchain.cmake文件中找到灵感,在CMAKEList.txt里指定编译平台后问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cmake交叉编译报错:在这里插入图片描述
google一番,看起来有帮助的答案:
https://stackoverflow.com/questions/35474573/clang-arm-neon-support
在这里插入图片描述
大概意思是要用-mfloat-abi=softfp 或者 -mfloat-abi=hard编译指令,尝试一下,没用。
https://groups.google.com/a/chromium.org/g/chromium-packagers/c/J-R5TysjwRs
在这里插入图片描述
,NEON不能用在x86平台,不知道他说啥。
https://github.com/android/ndk/issues/260
这个答案更上面类似。

还有些说不能用clang编译器,要指定为gcc/g++编译器, 还有说要用在CMAKEList.txt里加一行set(CMAKE_ANDROID_ARM_NEON ON)来打开NEON,结果都没帮组

然而都没有解决问题。

最后进入NDK里的交叉编译链工具里的android.toolchain.cmake文件,看到一行眼前一亮的代码:
在这里插入图片描述

在CMAKEList.txt里加一行set(ANDROID_ABI “armeabi-v7a with NEON”) # 指定编译平台
问题解决!

总结:编译的坑还是挺多的,有时候无从下手,有时候关注一下编译器$NDK/build/cmake/android.toolchain.cmake文件,或许会有帮助。

踩坑结束。。。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值