IDE находит несколько библиотек
Я не понимаю Arudino IDE. Всегда. Это часть вывода компиляции:
Alternatives for ArduinoJson.h: [[email protected]]
ResolveLibrary(ArduinoJson.h)
-> candidates: [[email protected]]
/home/mark/.arduino15/packages/STM32/tools/xpack-arm-none-eabi-gcc/9.2.1-1.1/bin/arm-none-eabi-g++ -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb @/tmp/arduino_build_952252/sketch/build_opt.h -c -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -fno-use-cxa-atexit -I/home/mark/OSC -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/avr -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32 -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/LL -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/usb -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/usb/hid -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/usb/cdc -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/STM32F4xx_HAL_Driver/Src -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/STM32F4xx -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src -w -x c++ -E -CC -DSTM32F4xx -DARDUINO=10810 -DARDUINO_NUCLEO_F429ZI -DARDUINO_ARCH_STM32 "-DBOARD_NAME=\"NUCLEO_F429ZI\"" -DSTM32F429xx -DHAL_UART_MODULE_ENABLED -I/home/mark/.arduino15/packages/STM32/tools/CMSIS/5.5.1/CMSIS/Core/Include/ -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include/ -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/ -I/home/mark/.arduino15/packages/STM32/tools/CMSIS/5.5.1/CMSIS/DSP/Include -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/variants/NUCLEO_F429ZI -I/home/mark/Arduino/libraries/STM32duino_LwIP/src -I/home/mark/Arduino/libraries/STM32duino_STM32Ethernet/src -I/home/mark/Arduino/libraries/ArduinoJson/src /tmp/arduino_build_952252/sketch/OSC.ino.cpp -o /dev/null
Alternatives for FlexyStepper.h: [[email protected]]
ResolveLibrary(FlexyStepper.h)
-> candidates: [[email protected]]
/home/mark/.arduino15/packages/STM32/tools/xpack-arm-none-eabi-gcc/9.2.1-1.1/bin/arm-none-eabi-g++ -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb @/tmp/arduino_build_952252/sketch/build_opt.h -c -Os -w -std=gnu++14 -ffunction-sections -fdata-sections -nostdlib -fno-threadsafe-statics --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -fno-use-cxa-atexit -I/home/mark/OSC -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/avr -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32 -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/LL -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/usb -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/usb/hid -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino/stm32/usb/cdc -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/STM32F4xx_HAL_Driver/Inc -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/STM32F4xx_HAL_Driver/Src -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/STM32F4xx -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src -w -x c++ -E -CC -DSTM32F4xx -DARDUINO=10810 -DARDUINO_NUCLEO_F429ZI -DARDUINO_ARCH_STM32 "-DBOARD_NAME=\"NUCLEO_F429ZI\"" -DSTM32F429xx -DHAL_UART_MODULE_ENABLED -I/home/mark/.arduino15/packages/STM32/tools/CMSIS/5.5.1/CMSIS/Core/Include/ -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include/ -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/ -I/home/mark/.arduino15/packages/STM32/tools/CMSIS/5.5.1/CMSIS/DSP/Include -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/cores/arduino -I/home/mark/.arduino15/packages/STM32/hardware/stm32/1.8.0/variants/NUCLEO_F429ZI -I/home/mark/Arduino/libraries/STM32duino_LwIP/src -I/home/mark/Arduino/libraries/STM32duino_STM32Ethernet/src -I/home/mark/Arduino/libraries/ArduinoJson/src -I/home/mark/Arduino/libraries/FlexyStepper/src /tmp/arduino_build_952252/sketch/OSC.ino.cpp -o /dev/null
Alternatives for Tasker.h: [[email protected]]
ResolveLibrary(Tasker.h)
-> candidates: [[email protected]]
Più di una libreria trovata per "ArduinoJson.h"
Usata: /home/mark/Arduino/libraries/ArduinoJson
Più di una libreria trovata per "FlexyStepper.h"
Usata: /home/mark/Arduino/libraries/FlexyStepper
Più di una libreria trovata per "Tasker.h"
Usata: /home/mark/Arduino/libraries/Tasker
Найдено более одной библиотеки в английском языке означает найдено более одной библиотеки. А Используется означает Используется.
Он сообщает мне, что находит несколько библиотек и выбирает одну из них. Прохладный. Но почему он не говорит мне где остальные?
Хорошо, да:
$ sudo find / -name Tasker.h
/home/mark/Arduino/libraries/Tasker/Tasker.h
то же самое происходит и с другими. Итак, где находятся найденные библиотеки мультипликаторов?
@Mark, 👍0
Обсуждение1 ответ
Когда вы устанавливаете Arduino, для ваших библиотек используются 3 места:
- Папка установки
- Личная папка
- Папка "Платы"
Папка установки
Это место, где вы установили Arduino. Обычно это:
В Windows: %ProgramFilesDir%\Arduino\libraries
В Linux: /home/{ИМЯ ПОЛЬЗОВАТЕЛЯ}/arduino-{VER}/libraries
Там вы можете найти 5-10 базовых библиотек.
Личная папка
Поскольку при каждом обновлении папка установки удаляется, скетчи и пользовательские библиотеки сохраняются в папке с вашими личными данными:
В Windows: %userprofile%\documents\Arduino\libraries
В Linux: /home/{ИМЯ ПОЛЬЗОВАТЕЛЯ}/Arduino/libraries/
Там вы можете найти все библиотеки, загруженные из IDE.
Папка "Платы"
Некоторые библиотеки поставляются с вашей платой и оптимизированы для нее. Arduino IDE всегда будет проверять эту папку перед поиском других библиотек.
В Windows: %LOCALAPPDATA%\Arduino15\packages\{BOARD}\hardware\{MODEL}\{VERSION}\libraries
В Linux: /home/{USERNAME}/.arduino15/packages/{BOARD}/hardware/{MODEL}/{VERSION}/libraries
Как я вижу, вы выбрали пользовательскую плату. Итак, Arduino IDE ищет в папке boards. Если он сможет найти библиотеку, он возьмет эту. Если нет, он будет искать в вашей личной папке и, наконец, в папке установки. Я не уверен, но он мог бы получить и более новую версию, если на ней есть версия. Не могу сказать, как среда IDE выбирает нужную библиотеку.
Если найдено более 1, появится предупреждающее сообщение. Но это всего лишь сообщение, вы можете просто проверить, была ли взята правильная библиотека.
Я знаю, где находятся библиотеки, но тут не в этом дело. Как видите, я искал из root
, так что есть не более *одной* библиотеки. Это ошибка, как сказал Джурайдж., @Mark
Ты прав. извините... Я ответил, не прочитав полностью., @Adriano
- Нет сервера веб-сокетов для Arduino mkr1010?
- Wire.h не найден!
- Какие есть другие IDE для Arduino?
- Не могу загрузить скетч в Arduino Nano
- Как просто закрыть вкладку в Arduino IDE?
- Может ли плагин Arduino Eclipse использовать библиотеки, установленные Arduino IDE?
- Могу ли я использовать Visual Studio вместо Arduino IDE?
- ATtiny85 и DHT11 - Датчик всегда возвращает 0
это известная ошибка Arduino IDE 1.8.10. игнорируй это. у вас нет нескольких библиотек, если в нем указана только одна. https://github.com/arduino/Arduino/issues/9601, @Juraj
Есть 3 места для ваших библиотек. Arduino IDE проверяет папку библиотеки Arduino IDE (путь установки). В папке со скетчами. И, наконец, в папке вашей платы. Как вы можете видеть в вашем журнале, у вас установлена специальная плата STM32, и IDE использует библиотеку, расположенную в
.arduino15
, а не ту, которая находится вArduino
. Тутто кьяро?, @Adriano