Arduino - 关于OTTO机器人源代码在Arduino IDE编译报错问题解析

库文件地址:

arduino IDE - 左上角菜单栏【文件】-首选项-项目文件夹位置

F:\Arduino IDE\INS\Arduino\libraries\Otto

错误提示信息:

Arduino:1.6.4 (Windows 8.1), 板:"Arduino Nano, ATmega328"

构建选项已变更,全部重新构建
使用库 LedMatrix 在文件夹: F:\Arduino IDE\INS\Arduino\libraries\LedMatrix (legacy)
使用库 BatReader 在文件夹: F:\Arduino IDE\INS\Arduino\libraries\BatReader (legacy)
使用库 EEPROM 在文件夹: F:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM
使用库 Servo 在文件夹: F:\Arduino IDE\INS\Arduino\libraries\Servo
使用库 Oscillator 在文件夹: F:\Arduino IDE\INS\Arduino\libraries\Oscillator (legacy)
使用库 US 在文件夹: F:\Arduino IDE\INS\Arduino\libraries\US (legacy)
使用库 Otto 在文件夹: F:\Arduino IDE\INS\Arduino\libraries\Otto (legacy)

F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\OTTO_stand.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\OTTO_stand.cpp.o
F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix\utility F:\Arduino IDE\INS\Arduino\libraries\LedMatrix\LedMatrix.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\LedMatrix\LedMatrix.cpp.o
F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto -IF:\Arduino IDE\INS\Arduino\libraries\BatReader\utility F:\Arduino IDE\INS\Arduino\libraries\BatReader\BatReader.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\BatReader\BatReader.cpp.o
F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto F:\Arduino IDE\INS\Arduino\libraries\Servo\src\avr\Servo.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\Servo\avr\Servo.cpp.o
F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto F:\Arduino IDE\INS\Arduino\libraries\Servo\src\sam\Servo.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\Servo\sam\Servo.cpp.o
F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator\utility F:\Arduino IDE\INS\Arduino\libraries\Oscillator\Oscillator.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\Oscillator\Oscillator.cpp.o
F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto -IF:\Arduino IDE\INS\Arduino\libraries\US\utility F:\Arduino IDE\INS\Arduino\libraries\US\US.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\US\US.cpp.o
F:\Arduino IDE\INS\Arduino\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\cores\arduino -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\variants\eightanaloginputs -IF:\Arduino IDE\INS\Arduino\libraries\LedMatrix -IF:\Arduino IDE\INS\Arduino\libraries\BatReader -IF:\Arduino IDE\INS\Arduino\hardware\arduino\avr\libraries\EEPROM -IF:\Arduino IDE\INS\Arduino\libraries\Servo\src -IF:\Arduino IDE\INS\Arduino\libraries\Oscillator -IF:\Arduino IDE\INS\Arduino\libraries\US -IF:\Arduino IDE\INS\Arduino\libraries\Otto -IF:\Arduino IDE\INS\Arduino\libraries\Otto\utility F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp -o C:\Users\Administrator\AppData\Local\Temp\build2052363392704674260.tmp\Otto\Otto.cpp.o
In file included from F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp:10:0:
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.h:98:5: error: 'LedMatrix' does not name a type
     LedMatrix ledmatrix ;//LedMatrix ledmatrix涔嬪墠缂哄皯LedMatrix澶存枃浠?
     ^
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp: In member function 'void Otto::putAnimationMouth(long unsigned int, int)':
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp:677:7: error: 'ledmatrix' was not declared in this scope
       ledmatrix.writeFull(getAnimShape(aniMouth,index));【问题所在:Otto库文件中缺少#include <LedMatrix.h>一直报错!只需要找到F:\Arduino IDE\INS\Arduino\libraries\Otto库文件-找到Otto.h头文件后添加代码即可】
       ^
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp: In member function 'void Otto::putMouth(long unsigned int, bool)':
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp:684:5: error: 'ledmatrix' was not declared in this scope
     ledmatrix.writeFull(getMouthShape(mouth));
     ^
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp:687:5: error: 'ledmatrix' was not declared in this scope
     ledmatrix.writeFull(mouth);
     ^
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp: In member function 'void Otto::clearMouth()':
F:\Arduino IDE\INS\Arduino\libraries\Otto\Otto.cpp:694:3: error: 'ledmatrix' was not declared in this scope
   ledmatrix.clearMatrix();
   ^
编译有误。

问题解决方法:

问题所在:Otto库文件中缺少#include <LedMatrix.h>

1.找到F:\Arduino IDE\INS\Arduino\libraries\Otto路径下的库文件存放地址-

2.找到Otto.h头文件后打开文件,添加#include <LedMatrix.h>代码即可。

总之,

#include <EEPROM.h>//arduino IDE中缺少这个头文件也报错,在arduino IDE-菜单栏【项目】-添加头文件(include library)-找到对应的头文件添加即可
#include <BatReader.h>//arduino IDE中缺少这个头文件也报错,同上!
#include <LedMatrix.h>//otto.h中之前缺少这个头文件,一直报错!

猜你喜欢

转载自blog.csdn.net/Naiva/article/details/83076146