完善资料让更多小伙伴认识你,还能领取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在哪???光靠这一句无法得出答案 |
|
|
|
只有小组成员才能发言,加入小组>>
810 浏览 0 评论
1161 浏览 1 评论
2535 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2719 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1109浏览 3评论
198浏览 2评论
465浏览 2评论
378浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
460浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 04:14 , Processed in 1.154884 second(s), Total 93, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号