完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 zhangsf_chongzai 于 2016-10-26 14:08 编辑
如题: 这个在KEIL5中编译通不过?那个晓得如何设置让其通过??? |
|
相关推荐
8个回答
|
|
|
|
|
|
云汉达人
本帖最后由 LiuYang 于 2016-10-26 14:19 编辑 #if的地方如果没有定义,就会跳转到#error是来显示显示。 编译通过的方法就是在其他地方定义个#if判断的那个宏定义。 #error已经提示了,需要什么就定义什么。 |
|
|
|
云汉达人
LiuYang 发表于 2016-10-26 14:16 不是没定义,是编译通不过,用了#error这个预编译宏 |
|
|
|
|
|
|
|
本帖最后由 MOP 于 2016-10-26 14:49 编辑
如果有#if判斷附帶#error的話,通常會跟函式庫非常重要的參數才需要您定義完整,例如Adafruit的SSD1306驅動 //#define SSD1306_128_64 //#define SSD1306_128_32 //#define SSD1306_96_16 #if !defined SSD1306_128_64 && !defined SSD1306_128_32 && !defined SSD1306_96_16 #error "At least one SSD1306 display must be specified in SSD1306.h" #endif以上編譯器會先預判,發現沒定義,就會輸出error訊息,並停止編譯 |
|
|
|
zhangsf_chongza 发表于 2016-10-26 14:23 之所以在预处理阶段 会报error,就是因为#if.. 条件不成立,就进入到#else中执行#error了。 要看你#if...的条件了,没帖全代码,也不知道到底是#ifdef 、#ifndef、#if define 。。。 |
|
|
|
|
|
|
|
zhangsf_chongza 发表于 2016-10-26 14:23 #else对应的#if在哪???光靠这一句无法得出答案 |
|
|
|
只有小组成员才能发言,加入小组>>
705 浏览 0 评论
1114 浏览 1 评论
2491 浏览 5 评论
2826 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2671 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
661浏览 9评论
671浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
789浏览 6评论
634浏览 5评论
679浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 23:07 , Processed in 1.184041 second(s), Total 95, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号