完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在编译系统移植的时候,不同的编译器的配置经常因为配置的系统硬件不同而需要跳转。
例如从cmake系统到gyp系统,有时候一些宏定义的编译器内部默认的,通过编译选项才能修改,尤其带“__xx”开头的编译宏定义。 本文尝试记录工作中遇到的一些,隐晦的编译错误和找不到的编译宏所对应的编译选项 1 __ARM_PCS_VFP 这个编译宏的意思是, __VFP_FP__ which merely indicates presence of VFP unit 表示当前硬件能否支持。VFP是ARM某些芯片的浮点运算模块,不是所有的都有。 报错往往是找不到硬件定义, clang -mfpu=vfp -mfloat-abi=hard test.c In file included from test.c:1: In file included from /usr/include/stdio.h:27: In file included from /usr/include/features.h:399: /usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-soft.h' file not found # include 1 error generated. 或者 : No such file or directory # include cc has a builtin define to denote hard abi when in use, e.g. when using -mfloat-abi=hard it will define __ARM_PCS_VFP to 1 and therefore we should check that to determine which calling convention is in use and not __VFP_FP__ which merely indicates presence of VFP unit 这些其实是在编译选项里面设定的,如果你傻傻的去找 __ARM_PCS_VFP那就很惨了,你会完全没有头绪。 其实只需要修改编译参数,-mfloat-abi=hard 或者 -mfloat-abi=soft 2 -mfpu=neon ARM cotext9 这个模块是可选的,那么如果编译的时候使能了这个选项,会造成运行的时候指令错误的提示。 原作者: |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2460 浏览 1 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之LED
1264 浏览 0 评论
迅为RK3588开发板实时系统编译-Preemption系统/ Xenomai系统编译-编译Linux实时系统-单独编译1
856 浏览 0 评论
哇!5.2秒进入应用界面!Linux快速启动方案分享,基于全志T113-i国产平台
1793 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-移植前准备之git管理内核源码
597 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-1 00:44 , Processed in 0.486753 second(s), Total 38, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号