New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Comments
As soo ad I uncomment «//#define LCD_I2C_SAINSMART_YWROBOT» to try to use a LCM1602 ywrobot LCD screen with marlin i obtain this error:
fatal error: LCD.h: No such file or directory
#include <LCD.h>
^
compilation terminated.
MacOs latest Marlin version and Arduino IDE also
Someone can help. Thanks a lot!
I’ve been able to reproduce the problem in a Widows environment.
I’ll need to do some research before I can propose a solution.
Looks like you need a new «liquidcrystal» library. I was able to get it to compile once I had the correct one for this card installed.
Go to https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home and install that library in Arduino.
I had a devil of a time getting it to work because I needed to clear out all the other «liquidcrystal» libraries from the Arduino search path. My suggestion is:
- search your computer for all files that start with liquidcrystal.
- move the directories that contain those files to a temporary location. This temp location can NOT be a subdirectory of any of the original paths.
- Download & install the new library per the instructions in the above link.
- Compile Marlin
- if all is well then delete the temp location.
Thank you a lot! i will try as soon as i can but i’m confident it will work.
can you please send lcd.h library files
above link is not working
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Скопируй текст ошибки целиком, это только самый кончик
Arduino: 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Плата:»Arduino Nano, ATmega328P (Old Bootloader)»
C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wttarduino-builder -dump-prefs -logger=machine -hardware C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardware -tools C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtttools-builder -tools C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -built-in-libraries C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wttlibraries -libraries C:UsersAcerDocumentsArduinolibraries -fqbn=arduino:avr:nano:cpu=atmega328old -ide-version=10813 -build-path C:UsersAcerAppDataLocalTemparduino_build_621083 -warnings=none -build-cache C:UsersAcerAppDataLocalTemparduino_cache_358915 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avr-gcc.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avrdude.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -verbose C:a1nixieClock_2_v2.5nixieClock_2_v2.5.ino
C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wttarduino-builder -compile -logger=machine -hardware C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardware -tools C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtttools-builder -tools C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -built-in-libraries C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wttlibraries -libraries C:UsersAcerDocumentsArduinolibraries -fqbn=arduino:avr:nano:cpu=atmega328old -ide-version=10813 -build-path C:UsersAcerAppDataLocalTemparduino_build_621083 -warnings=none -build-cache C:UsersAcerAppDataLocalTemparduino_cache_358915 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avr-gcc.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avrdude.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwaretoolsavr -verbose C:a1nixieClock_2_v2.5nixieClock_2_v2.5.ino
Using board ‘nano’ from platform in folder: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwarearduinoavr
Using core ‘arduino’ from platform in folder: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwarearduinoavr
Detecting libraries used…
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for EEPROM.h: [[email protected]]
ResolveLibrary(EEPROM.h)
-> candidates: [[email protected]]
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for RTClib.h: [[email protected]]
ResolveLibrary(RTClib.h)
-> candidates: [[email protected]]
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for GyverTimer.h: [GyverTimer]
ResolveLibrary(GyverTimer.h)
-> candidates: [GyverTimer]
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for GParsingStream.h: [GyverHacks]
ResolveLibrary(GParsingStream.h)
-> candidates: [GyverHacks]
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for GyverButton.h: [GyverButton]
ResolveLibrary(GyverButton.h)
-> candidates: [GyverButton]
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for EEPROMex.h: [EEPROMex]
ResolveLibrary(EEPROMex.h)
-> candidates: [EEPROMex]
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for Wire.h: [[email protected]]
ResolveLibrary(Wire.h)
-> candidates: [[email protected]]
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\Documents\Arduino\libraries\RTClib-master\RTClib.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\Documents\Arduino\libraries\GyverTimer\GyverTimer.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\Documents\Arduino\libraries\GyverHacks\GyverHacks.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\Documents\Arduino\libraries\GyverButton\GyverButton.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\Documents\Arduino\libraries\EEPROMex\EEPROMex.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\Wire.cpp» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src\utility\twi.c» -o nul -DARDUINO_LIB_DISCOVERY_PHASE
Generating function prototypes…
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\preproc\ctags_target_for_gcc_minus_e.cpp» -DARDUINO_LIB_DISCOVERY_PHASE
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\tools-builder\ctags\5.8-arduino11/ctags» -u —language-force=c++ -f — —c++-kinds=svpf —fields=KSTtzns —line-directives «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\preproc\ctags_target_for_gcc_minus_e.cpp»
Компиляция скетча…
«C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-g++» -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\variants\eightanaloginputs» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\EEPROM\src» «-IC:\Users\Acer\Documents\Arduino\libraries\RTClib-master» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverTimer» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverHacks» «-IC:\Users\Acer\Documents\Arduino\libraries\GyverButton» «-IC:\Users\Acer\Documents\Arduino\libraries\EEPROMex» «-IC:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\libraries\Wire\src» «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp» -o «C:\Users\Acer\AppData\Local\Temp\arduino_build_621083\sketch\nixieClock_2_v2.5.ino.cpp.o»
In file included from C:a1nixieClock_2_v2.5nixieClock_2_v2.5.ino:12:0:
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMex.h:195:22: error: conflicting declaration ‘EEPROMClassEx EEPROM’
extern EEPROMClassEx EEPROM;
^~~~~~
In file included from C:a1nixieClock_2_v2.5nixieClock_2_v2.5.ino:1:0:
C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwarearduinoavrlibrariesEEPROMsrc/EEPROM.h:145:20: note: previous declaration as ‘EEPROMClass EEPROM’
static EEPROMClass EEPROM;
^~~~~~
In file included from C:a1nixieClock_2_v2.5nixieClock_2_v2.5.ino:13:0:
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h: In constructor ‘EEPROMVar<T>::EEPROMVar(const T&)’:
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h:32:18: error: ‘struct EEPROMClass’ has no member named ‘getAddress’
address(EEPROM.getAddress(sizeof(T)))
^~~~~~~~~~
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h: In member function ‘void EEPROMVar<T>::save()’:
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h:71:13: error: ‘struct EEPROMClass’ has no member named ‘writeBlock’; did you mean ‘write’?
EEPROM.writeBlock<T>(address, var);
^~~~~~~~~~
write
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h:71:25: error: expected primary-expression before ‘>’ token
EEPROM.writeBlock<T>(address, var);
^
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h: In member function ‘void EEPROMVar<T>::update()’:
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h:75:13: error: ‘struct EEPROMClass’ has no member named ‘updateBlock’; did you mean ‘update’?
EEPROM.updateBlock<T>(address, var);
^~~~~~~~~~~
update
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h:75:26: error: expected primary-expression before ‘>’ token
EEPROM.updateBlock<T>(address, var);
^
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h: In member function ‘void EEPROMVar<T>::restore()’:
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h:83:12: error: ‘struct EEPROMClass’ has no member named ‘readBlock’
EEPROM.readBlock<T>(address, var);
^~~~~~~~~
C:UsersAcerDocumentsArduinolibrariesEEPROMex/EEPROMVar.h:83:23: error: expected primary-expression before ‘>’ token
EEPROM.readBlock<T>(address, var);
^
Используем библиотеку EEPROM версии 2.0 из папки: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwarearduinoavrlibrariesEEPROM
Используем библиотеку RTClib-master версии 1.2.0 из папки: C:UsersAcerDocumentsArduinolibrariesRTClib-master
Используем библиотеку GyverTimer в папке: C:UsersAcerDocumentsArduinolibrariesGyverTimer (legacy)
Используем библиотеку GyverHacks в папке: C:UsersAcerDocumentsArduinolibrariesGyverHacks (legacy)
Используем библиотеку GyverButton в папке: C:UsersAcerDocumentsArduinolibrariesGyverButton (legacy)
Используем библиотеку EEPROMex в папке: C:UsersAcerDocumentsArduinolibrariesEEPROMex (legacy)
Используем библиотеку Wire версии 1.0 из папки: C:Program FilesWindowsAppsArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtthardwarearduinoavrlibrariesWire
exit status 1
Ошибка компиляции для платы Arduino Nano.
I found this code somewhere for showing something on LCD via AVR:
#include <stdio.h>
#include <mega16.h>
#include <util/delay.h>
#include <lcd.h>
#define xtal 4000000
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
void main(void)
{
char buffer[10];
unsigned char w;
PORTB=0xFF;
DDRB=0x00;
lcd_init(16);
lcd_clear();
while (1)
{
w = ~PINB;
if(w!=0x00)
{
lcd_clear();
lcd_gotoxy(0,0);
sprintf(buffer,"Number=%d",w);
lcd_puts(buffer);
delay_ms(100);
}
else
{
lcd_clear();
lcd_putsf("Number=0");
delay_ms(100);
}
}
}
This code does not run due to so many problems (Messages by codeblock):
||=== Build: Debug in avr (compiler: GNU GCC Compiler for AVR) ===|
main.c|2|error: mega16.h: No such file or directory|
main.c|4|error: lcd.h: No such file or directory|
main.c|8|error: invalid preprocessing directive #asm|
main.c|9|error: expected identifier or '(' before '.' token|
main.c|10|error: invalid preprocessing directive #endasm|
main.c|12|error: expected '=', ',', ';', 'asm' or '__attribute__' before 'void'|
||=== Build failed: 6 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Where should I find mega16.h
and should I install anything to have access to lcd.h
?
This code looks strange.
It’s 11 PM on a Wednesday. You’ve just spent three hours toiling on your next Arduino project, and FINALLY, you’re ready to give your sketch a whirl. You hit upload, palms sweaty with anticipation to see all your hard work come to fruition. It’s then you see the error:
No such file or directory.
Surely this is a chance aberration. “Nothing to worry about,” you mutter, sleep-starved and semi-delirious as you hit upload again. And once more, those maddening words, “no such file or directory,” stare back at you in hostile gaslighting mockery.
Have you been here?
If you’re trying to run an Arduino sketch but keep coming across the “no such file or directory” error, don’t worry. This is actually a pretty common problem, and there are two easy fixes that almost always work.
Keep on reading. We’ll show you what they are.
No such file error!
Error messages can be such a pain. They do, however, serve a useful purpose by telling us something about what went wrong. At first glance, the no such file or directory error is particularly maddening because it seems to break that useful purpose rule. Of course there’s a file or directory! You just made the thing, and it’s right there, tucked inside a directory.
But hold up, let’s take a closer look. If you look at the bottom portion of the Arduino IDE where the error message shows up, there’s this handy little button that says “copy error messages.”
Click on that now. You probably won’t fall off your chair to learn that by clicking that button, you just copied the error message from the little window at the bottom of The Serial Monitor’s UI to the clipboard of your computer.
This copy feature is ridiculously useful. You could, for example, paste the error message into Google and learn more about the error. Or you could take advantage of the active Arduino community by asking for help in a forum. For this situation, however, we can be a bit more basic. All we’re going to do is take a closer look at what the message is actually saying. To do that, just fire up your PC’s text editor and paste it into the blank screen.
Decoding the no such file error
Here it is, that pesky error in all its freshly pasted glory.
I’ll break it down for you line by line.
- The first line is easy. It’s just describing the Arduino version in use, what operating system is running, and which board you have selected.
- Line 2 begins to zero in on the problem.
- The first bit, “knob,” is referring to the name of the program. This is your sketch, basically.
- The second bit is what usually begins to confuse people, but it’s easy once you know. The “10” in this example is telling you the error occurred on line 10 of your sketch. The “19” is telling you the length of the line of code in spaces and characters. The first number is usually the more helpful of the two because you can use it to locate the error in your sketch.
- Then we get to the smoking gun of the error. It says, “servo.h: No such file or directory”.
So this thing, “Servo.h.” That’s the thing we need to fix, and thanks to line 2, we know where to find it. Line 10. It’s always line 10.
Now that we know what’s going on a bit better, let’s get down to the business of implementing a fix.
The error of our ways
Let’s lay down some scrutiny on this accursed line 10.
It says “#include <servo.h>”
When we verify this code, this line is telling the Arduino IDE compiler, “Hey, for this program to work, you need to go get this file called servo.h”.
Let’s say you had a label-making machine, and you wanted to use it to print some cool motivational labels, like “Success!” and “Keep Trying!” and “Look, Nachos!” To make that happen, you’ll first have to load in a roll of labels. No roll of labels? Well, then the label maker isn’t gonna work.
The sketch you’re trying to upload is like the label maker. The file (in our example, the file named “servo.h”) is the roll of labels.
So the error message actually is saying something useful. It’s saying, “Hey programmer, you said I needed this other file. Well, I looked for it and it’s not there. What gives?”
Now we know the error message isn’t complete gibberish, let’s look at the two most common scenarios that cause it.
Scenario 1 – Fat fingers
This sketch is one that you’ve written. You’re actually the one who wrote the “#include” line. The first thing you should check is your spelling and capitalization. Maybe you spelled the name of the library incorrectly? Or (as with the example below) perhaps you capitalized the wrong letters.
So “servo.h” should actually have a capital “S.” In full and with correct capitalization, it should read, “Servo.h.” You’ll notice above that the word servo changes color when it’s correctly capitalized. That color change signifies that the library name “Servo” is recognized as a “keyword” in the Arduino IDE.
Keep in mind that might not be the case for all the libraries you’re using. In other words, the color change won’t always indicate you’re using the right spelling or capitalization, but it’s often a helpful visual reminder.
Oh, and it’s probably good to mention that everyone in the history of Arduino programming has misspelled or incorrectly capitalized a word at some point. It’s amazing how long you can stare at a line of code and miss something like that.
So don’t sweat it.
Scenario 2 – Missing files
This brings us to the next common scenario for the “no such file or directory” error.
So often, working with Arduinos involves taking code that someone else has developed and shared online and then tailoring it to your project. That’s part of what makes it so easy to get stuff done with Arduino. One problem that frequently happens when we do that, however, is we accidentally introduce code without a matching file.
An easy way to check to see if you have the file a sketch is looking for is to navigate to Sketch > Include Library from within the Arduino IDE. Then look for the name of that library.
Whatever library the #include statement was calling for, you want to look through this big long list for a library with the exact same name. If you don’t see the file name there, this means the library isn’t installed. You’ll have to add that library before the sketch will compile without errors.
So, how do you add that library?
The easiest way is to go to Sketch > Include Library > Manage Libraries. The Arduino IDE will open up a dialogue box from which you can search for the library you need.
Make sure you type the exact word that matches the #include line. Once you find the missing library, go ahead and click Install. The Arduino IDE will let you know that it’s installing the library you requested and updating the software accordingly.
Next, just double-check that the library has been successfully installed by going to Sketch > Include Library. You should see your new library in the dropdown list.
Good news! If the library is there, you should now be able to compile your sketch error-free.
Other library locations
OK, there’s one little fly in the ointment. How do these dang ointment flies always manage to complicate things so?
Here’s the thing. Not all libraries live in this convenient pop-up window inside the Arduino IDE. The Arduino community is bubbling with clever ideas, but cleverness (unlike processed cheese) doesn’t always come in conveniently standardized, individually wrapped slices. There are tons of different ways to find Arduino libraries on the web.
If you’re downloading or copying a program from the internet, just go to the page where you got that program and take a close look at the library the author is referencing. They may, for example, have a link to GitHub, which is a place where people keep a lot of code libraries.
Wherever you find it, usually the library will be included in a .zip file package. Once you’ve downloaded the .zip file, fire up the Arduino IDE and go to Sketch > Include Library > Add .ZIP library. Then navigate to the location you downloaded the file and select it. Assuming no additional ointment flies invade your workflow, the Arduino IDE will pop up the message “Library added to your libraries” just above the dark area where the original “no such file or directory” error appeared.
Now it’s business as usual! Just go to Sketch > Include Library, and the new library will appear in the drop-down list.
As the dyslexic Frenchman once said to the oversized violinist: “Viola!”
You now know not one but two ways to add a new library. What a time to be alive!
Review
A quick recap, then.
We’ve looked at the two main scenarios that cause the “no such file or directory” error to appear after you compile your sketch:
- The fat fingers phenomenon: Check your spelling and capitalization! If you wrote the sketch, there’s a mighty good chance you introduced a tiny error. And don’t beat yourself up over it! Literally every coder has done this.
- The missing files mixup: Failing that, if you copied code from someone else check that you have the correct libraries installed. Don’t see your library? Install it using the method described above, and you should be good to go.
There may be no such thing as a free lunch, a coincidence, or a luck dragon. But rest assured. Your files and directories? They’re alive and well.
Skip to main content
Welcome to EDAboard.com
Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals… and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
-
Analog Design
-
Analog Circuit Design
You should upgrade or use an alternative browser.
lcd.h no such file or directory found
-
Thread starterasthra123
-
Start dateDec 29, 2016
- Status
- Not open for further replies.
-
#1
- Joined
- Jul 2, 2013
- Messages
- 32
- Helped
- 1
- Reputation
-
2
- Reaction score
- 1
- Trophy points
- 1,288
- Activity points
-
1,577
I can not build the attached program showing error—lcd.h no such file or directory found View attachment S-tank.txt
-
#2
- Joined
- Nov 13, 2012
- Messages
- 3,815
- Helped
- 929
- Reputation
-
1,860
- Reaction score
- 921
- Trophy points
- 1,393
- Activity points
-
30,126
There are two places where the header files are kept; user and system.
You can of course provide the full path of the header file (lcd.h).
If the file is completely missing in action, you need to search and download from the same place where you got the software.
These are included files that define the various function calls available in the libraries and (I do not know) they may be linked either static or dynamic ways.
What is the original source of S-tank.txt? It may refuse to compile with a .txt extension.
-
#3
- Joined
- Jul 2, 2013
- Messages
- 32
- Helped
- 1
- Reputation
-
2
- Reaction score
- 1
- Trophy points
- 1,288
- Activity points
-
1,577
-
#4
- Joined
- Nov 13, 2012
- Messages
- 3,815
- Helped
- 929
- Reputation
-
1,860
- Reaction score
- 921
- Trophy points
- 1,393
- Activity points
-
30,126
The software used was Atmel Studio 6.1. When we build solution for the corresponding program, the error message is given — » lcd.h: no such file or directory found».
Please consider the final program to be compiled; I believe it is S-tank.txt. You should have also received the lcd.h file at the same place.
If the file is missing from the location searched by the software for header files, then you need to provide one. It cannot work without the header files.
- Status
- Not open for further replies.
Similar threads
-
Analog Design
-
Analog Circuit Design
-
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
I did something that changed things.
I’m going through the book «Programming 32 Bit Microcontrollers in C — Exploring the PIC32» and I’m trying to put together the RTCC with the LCD routines.
MPLAB 8.30 and the PIC32 C Compiler free version.
Explore.h and LCD.h are included in the project under Header Files. But when I compile, I get the following errors:
Executing: «C:Program FilesMicrochipMPLAB C32 Suitebinpic32-gcc.exe» -mprocessor=32MX360F512L -x c -c «C:PIC32C32libLCDlib.c» -o»LCDlib.o» -MMD -MF»LCDlib.d» -D__DEBUG -g
C:PIC32C32libLCDlib.c:13:21: Explore.h: No such file or directory
C:PIC32C32libLCDlib.c:15:17: LCD.h: No such file or directory
There are more errors after that, but they seem to be based on the compiler not finding those two headers.
I can double-click on the file names under «Header» and view/edit the files. I’ve removed and added them again.
If I reopen the project «Progress» from Chapter 10 which uses both Explore.h and LCD.h, on compile it says no such file or directory. But the project «LCD Library», which only uses Explore.h, finds Explore.h just fine.
I don’t know what I’ve changed. The strange thing is that if I open an earlier project that uses those files, it still compiles just fine.
Any ideas? I’ve reinstalled 8.30 in situ, no change. I’m about to uninstall it all and reinstall it, but I’m not sure that will fix anything. It must be some simple thing that I, in my naivete with MPLAB, have changed.
Thanks,
Steve Greenfield
Steve Greenfield AE7HD
ET, AT in EET
I’m trying to start with the SainSmart 4×20 serial LCD, and copied the library to the Arduino library:
So LiquidCrystal_I2C.h
is included. But when I try to compile an example sketch it says
Arduino: 1.7.0 (Windows 7), Board: «Arduino Uno»
HelloWorld_i2c.pde:2:31: fatal error: LiquidCrystal_I2C.h: No such file or directory
compilation terminated.
Error compiling.
Any ideas how to fix this?
asked Apr 16, 2015 at 13:40
Joris GroosmanJoris Groosman
1,1713 gold badges10 silver badges25 bronze badges
3
I copied the SainSmart library to the IDE’s library folder, not noticing that there was already a folder named «LiquidCrystal». Apparently the files added to the existing folder are being ignored.
Renaming the SainSmart library before adding it solves the problem.
answered Apr 16, 2015 at 15:07
Joris GroosmanJoris Groosman
1,1713 gold badges10 silver badges25 bronze badges
There is not enough info to give a specific answer so I will give some troubleshooting tips:
- First make sure at the top of your code you have: #include <LiquidCrystal_I2C.h> — with angle brackets
- You may also need the Wire header file: #include <Wire.h> — with angle brackets
- Make sure you Include Serial
- Make sure there are no extra folders in the library for example there should be a folder called liquidcrystal inside the liquidcrystal folder
- If all fails copy the code from the header file make a new file in the IDE paste it in there and call it LiquidCrystal_I2C.h
Hope one of those solves your problem.
answered Apr 16, 2015 at 14:01
13-12-2020, 16:31
3 комментариев
Даже опытные программисты-«ардуинщики» могут столкнуться с ошибками компиляции. Исправить их не сложно, а вот найти порой не так просто. Мы решили рассказать сегодня в деталях, какие системные ошибки чаще возникают на различных платах Ардуино, как их исправить и по возможности избежать.
Для начала рассмотрим базовые, так называемые синтаксические ошибки. Они встречаются чаще всего у новичков, но и опытные электронщики с ними точно знакомы не понаслышке. Искать их обычно супер-просто – в Arduino IDE некорректный синтаксис выделяется построчно (таким образом значительно легче отыскать неточность в кодах). Обычно это: отсутствие скобки в конце команды, пропуск этой самой служебной команды или слова, нехватка важных функций, неправильное их написание и т.д.
Для быстрого поиска ошибки советуем рассмотреть строку-подсказку. Ничего не помогло? Тогда для вас наша подборка наиболее распространенных синтаксических ошибок:
С синтаксисом все понятно – вставляем пропущенные символы, убираем лишние знаки, возвращаем функции по умолчанию.
Напомним, в среде разработки Ардуино IDE можно заливать скетчи для различных микроконтроллеров. По умолчанию обычно указана плата Genuino Uno. Если вы работаете с Mega, следует выбрать именно эту платформу (меню «Сервис»), иначе вас ожидает неприятное предупреждение: “programmer is not responding”.
Ошибка компиляции для платы Arduino Uno чаще всего возникает из-за проблем, связанных с библиотеками, например, неправильно подключили, не то ПО инсталлировали. В этом случае вы увидите напоминание “fatal error: … No such file or directory” (библиотека не перенесена в папку libraries) или “redefinition of void setup”.
Обозначенная на скриншоте ERROR означает, что программирование завершилось некорректно (расшифровываем: внутренние проблемы с компилятором, не обновили версию IDE, сбой в библиотеке, неправильный выбор разрядности операционной системы и др.).
Важно! Не забывайте использовать подсказки приложения – они очень помогают. Включаем тут: Файл -> Настройки -> «Показать подробный вывод во время компиляции».
Что делать, если произошла ошибка при загрузке скетча Arduino Nano. Тут могут быть те же причины, что мы описали выше. Особых отличий в компиляции плат нет, главное, их правильный выбор первоначально. Однако часто пользователи настраивают не те показатели скорости порта: 9600 вместо необходимых 57600 либо не имеют соответствующих драйверов на устройствах – все это нужно проверить и исправить!