完善资料让更多小伙伴认识你,还能领取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在哪???光靠这一句无法得出答案 |
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1020浏览 1评论
1849浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1359浏览 1评论
1851浏览 0评论
1177浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:23 , Processed in 1.776045 second(s), Total 88, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2500