完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 lm12041204a 于 2019-12-4 21:38 编辑
宏重复定义,特别是多个头文件中都有定义,并且预编译指令不是完全周全的情况下(通常情况下也无法完全周全)。 定义外部变量有时也遇到类似问题。 修改工程选项试试,参考一下这个: 解决编译官方库中的project warning: #47-D: incompatible redefinition of macro https://blog.csdn.net/jdwang001/article/details/21377793 解决keil常见的两类警告问题:WARNING http://bbs.21ic.com/icview-2524150-1-1.html?fromuser= 编译SeggerRTT报错: warning: #47-D: incompatible redefinition of macro "SEGGER_RTT_LOCK" https://blog.csdn.net/weixin_39752827/article/details/88708626
最佳答案
|
|
|
|
|
|
|
|
看了两天了,确实不知道咋整。基本确定就是头文件引用顺序的问题,但是一直搞不懂keil的编译顺序,所有问题还是解决不了,现在无奈做了一个折中的办法,修改stm32f405xx.h文件,把“#define __FPU_PRESENT 1U”注释掉,然后预定义里添加“__FPU_PRESENT=1”。这样不会报重定义的警告,而且fpu也能启动。
但是这样需要修改库文件,这样的做法总是不太好,希望各位大神们帮帮忙 |
|
|
|
incompatible __FPU_PRESENT 重新定义不兼容
|
|
2 条评论
|
|
问题依旧,大部分做法是哪个宏报警告了,到工程选项里去掉相应的,但__FPU_PRESENT=1如果不再预定义里定义那fpu就启动不了
|
|
1 条评论
|
|
Project->Option for Target->C/C++->Misc Controls->设置一下这个位置就好
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
499 浏览 1 评论
1943 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1053 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1469 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1909 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 21:22 , Processed in 0.519001 second(s), Total 61, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号