完善资料让更多小伙伴认识你,还能领取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 这个模块是可选的,那么如果编译的时候使能了这个选项,会造成运行的时候指令错误的提示。 原作者: |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
485 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之烧写所需镜像
605 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写方法
558 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
799 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明
719 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 20:32 , Processed in 0.554972 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号