【问题标题】:Why I got this error?为什么我得到这个错误?
【发布时间】:2016-11-25 21:39:42
【问题描述】:

Arduino:1.6.9(Windows 10),板:“Arduino Mega ADK”

在 C:\Users\Disheet\Downloads\humanoid_1\humanoid_1.ino:1:0: 中包含的文件中:

C:\Users\Disheet\Documents\Arduino\libraries\ax12v2/ax12.h:66:23: 错误:冲突声明'typedef unsigned char boolean'

typedef unsigned char boolean;

                   ^

在sketch\humanoid_1.ino.cpp:1:0: 中包含的文件中:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:117:14: 错误:'boolean' 之前的声明为 'typedef bool boolean'

typedef bool boolean;

          ^

C:\Users\Disheet\Downloads\humanoid_1\humanoid_1.ino:在函数 'void setup()' 中:

humanoid_1:5:错误:“SetPosition”未在此范围内声明

SetPosition(1,0);////id,posiotin 0-1023

              ^

C:\Users\Disheet\Downloads\humanoid_1\humanoid_1.ino:在函数 'void loop()' 中:

humanoid_1:13:错误:“SetPosition”未在此范围内声明

设置位置(1,512);

                ^

为“ax12.h”找到了多个库 使用:C:\Users\Disheet\Documents\Arduino\libraries\ax12v2 未使用:C:\Users\Disheet\Documents\Arduino\libraries\Bioloid 退出状态 1 'SetPosition' 未在此范围内声明

此报告将包含更多信息 “在编译期间显示详细输出” 文件 -> 首选项中启用的选项。

【问题讨论】:

  • 在StackOverFlow中,你应该解释你的问题并使用标题来解释你的问题,请修改标题。

标签: scope arduino undeclared-identifier


【解决方案1】:

您需要在库中找到typedef unsigned char boolean; 并将其更改为与 Arduino.h 中的版本匹配。

boolean 已经是 Arduino.h 中的 typedef,它是 bool,而不是 unsigned char

在 AX12 库中搜索: https://github.com/7Robot/Arduino/blob/master/AX12/libraries/ax12/ax12.h#L66

并将其更改为typedef bool boolean;

这是不久前更新的,因此您的 IDE 版本比 AX12 库新。

【讨论】:

  • 如果您想更新该库,您可以尝试用#include 替换这两个 typedef。但这可能会导致更多问题;)
猜你喜欢
  • 2017-09-18
  • 2020-01-31
  • 1970-01-01
  • 2019-01-25
  • 1970-01-01
  • 2023-01-12
  • 1970-01-01
  • 2019-10-03
  • 2018-10-06
相关资源
最近更新 更多