Компилирую скетч из примеров к библиотеке LiquidCrystal_I2C.
05 | #include <LiquidCrystal_I2C.h> |
07 | #if defined(ARDUINO) && ARDUINO >= 100 |
08 | #define printByte(args) write(args); |
10 | #define printByte(args) print(args,BYTE); |
13 | uint8_t bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4}; |
14 | uint8_t note[8] = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0}; |
15 | uint8_t clocK[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0}; |
16 | uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0}; |
17 | uint8_t duck[8] = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0}; |
18 | uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0}; |
19 | uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0}; |
20 | uint8_t retarrow[8] = { 0x1,0x1,0x5,0x9,0x1f,0x8,0x4}; |
22 | LiquidCrystal_I2C lcd(0x27,16,2); |
29 | lcd.createChar(0, bell); |
30 | lcd.createChar(1, note); |
31 | lcd.createChar(2, clocK); |
32 | lcd.createChar(3, heart); |
33 | lcd.createChar(4, duck); |
34 | lcd.createChar(5, check); |
35 | lcd.createChar(6, cross); |
36 | lcd.createChar(7, retarrow); |
39 | lcd.print( "Hello world..." ); |
43 | lcd.print( " arduinos!" ); |
50 | void displayKeyCodes( void ) { |
54 | lcd.print( "Codes 0x" ); lcd.print(i, HEX); |
55 | lcd.print( "-0x" ); lcd.print(i+16, HEX); |
57 | for ( int j=0; j<16; j++) { |
Компилятор мне вот что пишет.
"Arduino: 1.6.5 (Windows XP), Плата"Arduino Uno" Используем библиотеку Wire в папке: C:\Program Files\Arduino\hardware\arduino\avr\libraries\Wire Используем библиотеку LiquidCrystal_I2C в папке: C:\Documents and Settings\Admin\Мои документы\Arduino\libraries\LiquidCrystal_I2C (legacy)
*
*
*
C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc -w -Os -Wl,--gc-sections -mmcu=atmega328p -o C:\DOCUME~1\Admin\LOCALS~1\Temp\build7989869042181060496.tmp/CustomChars.cpp.elf C:\DOCUME~1\Admin\LOCALS~1\Temp\build7989869042181060496.tmp\CustomChars.cpp.o C:\DOCUME~1\Admin\LOCALS~1\Temp\build7989869042181060496.tmp\Wire\Wire.cpp.o C:\DOCUME~1\Admin\LOCALS~1\Temp\build7989869042181060496.tmp\Wire\utility\twi.c.o C:\DOCUME~1\Admin\LOCALS~1\Temp\build7989869042181060496.tmp\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp.o C:\DOCUME~1\Admin\LOCALS~1\Temp\build7989869042181060496.tmp/core.a -LC:\DOCUME~1\Admin\LOCALS~1\Temp\build7989869042181060496.tmp -lm
collect2.exe: error: ld returned 5 exit status Ошибка компиляции."
И сама винда ругается вот так:
Что делать не понятно.
ld.exe умирает на любом скетче, или только на этом ?
не только на этом, но и не на всех
бывает что одну строку добавляю и ошибка вылазит
Может стоит IDE переустановить.
Может стоит IDE переустановить.
Может стоит IDE переустановить.
Это самый простой способ. Скачайте архив без инстолятора, тогда и устанавливать не надо.....
у меня есть скаченный архив, просто переписать на прежнее место?
у меня есть скаченный архив, просто переписать на прежнее место?
В любое другое. Если Ваш арзив это не архив инстолятора, а Windows ZIP file for non admin install
Насколько мне известно, проблема возникает только в WinXP, а потому в русскоязычном сегменте И-нета практически неизвестна.
Токально можно обойти ошибку, если добавлять в код ненужные переменные. Может потребоваться более десятка. На размер занимаемой памяти это не повлияет, т.к. оптимизатор их все равно удалит.
Более глобальный способ борьбы - скачать старую версию среды (1.0.?) и взять ld.exe оттуда.
Насколько мне известно, проблема возникает только в WinXP, а потому в русскоязычном сегменте И-нета практически неизвестна.
Токально можно обойти ошибку, если добавлять в код ненужные переменные. Может потребоваться более десятка. На размер занимаемой памяти это не повлияет, т.к. оптимизатор их все равно удалит.
Более глобальный способ борьбы - скачать старую версию среды (1.0.?) и взять ld.exe оттуда.
Ладно, буду пробовать.
А с http://www.arduino.org/ не пробовали запускать?
А с http://www.arduino.org/ не пробовали запускать?
Попробуйте запустить. Да, ИДЕ
Вообщем взял из архива ld.exe и скопировал в папку с компилятором, все заработало. Спасибо коллеги!
Если windows XP то советую работать с IDE Arduino 1.8.3 / 1.8.4 Nightly другие версии IDE на windows XP иногда глючат, причем на ровном месте. Выдают ошибку "collect2.exe: error: ld returned 5 exit status"
DVAL, а вы на дату предыдущего поста обратили внимание? :)
Если windows XP то советую работать с IDE Arduino 1.8.3 / 1.8.4 Nightly другие версии IDE на windows XP иногда глючат, причем на ровном месте. Выдают ошибку "collect2.exe: error: ld returned 5 exit status"
У меня на Windows XP прекрасно работают Arduino IDE: 1.0.5, 1.6.5, 1.6.12. Работали и другие версии, но удалил их за ненадобностью.
У меня с тех пор все отлично работает на ХР)
IDE Arduino 1.8.3 / 1.8.4 Nightly
Ни в коем случае не советую ночные сборки (Nightly), только релизные.
При чем тут дата? Я же сюда попал в поисках своей проблемы и раньше эту ветку просматривал. Возможно и еще кто попадет у кого подобные траблы. Описал способ который мне помог. Возможно поможет еще кому то. Хотя от XP даже мелкософт отказался, но не на всем железе семерки и десятки адекватно работают. А железо то еще вполне рабочее.... Для программирования ардуинки
Я новичок в этом деле, и столкнулся с этой же проблемой, ковырял два дня с перерывами. Виндос ХР sp3, оказалось все просто! В установленной FLprog-3.0.2 впапке ideV2 открыл свойства файлов arduino и arduino_debug на вкладке совместимость выбрал режим совместимости Windows 98/Windows Me и чудо свершилось. Чего и вам желаю.
Не нужно ничего переустанавливать или заменять ld.exe - дело вовсе не в этом.
Эта ошибка связана с чем-то другим. Она может исчезнуть от внесенных изменений, а может появиться снова с только что абсолютно рабочей программой. Причины могут быть разные, например лишние временные файлы в системной папке Temp... или нехватка виртуальной памяти.
Память не может быть "read". - да, она такая ...
Сделал как тут (в конце страницы) - всё заработало.
https://frompinskto.wordpress.com/2016/01/14/arduino-%D0%BE%D1%88%D0%B8%...
Всем добрый вечер, компилирую скетч и выдает такую ошибку как быть???
01
Архивирование откомпилированного ядра (кэширование) в: C:\Users\Home\AppData\Local\Temp\arduino_cache_359128\core\core_arduino_avr_nano_cpu_atmega328_0c812875ac70eb4a9b385d8fb077f54c.a
02
Linking everything together...
03
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-gcc"
-w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262/babington222.ino.elf"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262\\sketch\\babington222.ino.cpp.o"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262\\libraries\\Wire\\Wire.cpp.o"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262\\libraries\\Wire\\utility\\twi.c.o"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262\\libraries\\LiquidCrystal_I2C\\LiquidCrystal_I2C.cpp.o"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262\\libraries\\OneWire\\OneWire.cpp.o"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262\\libraries\\DallasTemperature\\DallasTemperature.cpp.o"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262\\libraries\\TimedAction\\TimedAction.cpp.o"
"C:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262/core\\core.a"
"-LC:\\Users\\Home\\AppData\\Local\\Temp\\arduino_build_117262"
-lm
04
C:\Users\Home\AppData\Local\Temp\ccu5Xidr.ltrans0.ltrans.o: In function `main':
05
06
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:46: undefined reference to `
loop
'
07
08
collect2.exe: error: ld returned 1 exit status
09
10
Используем библиотеку Wire версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire
11
Используем библиотеку LiquidCrystal_I2C в папке: C:\Users\Home\Documents\Arduino\libraries\LiquidCrystal_I2C (legacy)
12
Используем библиотеку EEPROM версии 2.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM
13
Используем библиотеку OneWire в папке: C:\Users\Home\Documents\Arduino\libraries\OneWire (legacy)
14
Используем библиотеку DallasTemperature в папке: C:\Users\Home\Documents\Arduino\libraries\DallasTemperature (legacy)
15
Используем библиотеку TimedAction в папке: C:\Users\Home\Documents\Arduino\libraries\TimedAction (legacy)
16
exit status 1
17
Ошибка компиляции для платы Arduino Nano.
4 и 6 строки - а что в ccu5Xidr делает main()? Если Вы использовали его как имя функции, то настоятельно советую поменять.
4 и 6 строки - а что в ccu5Xidr делает main()? Если Вы использовали его как имя функции, то настоятельно советую поменять.
нет я его не применял не где, функции loop не было вот и ругался он, добавил функцию и все ок, теперь надо смотреть как на дисплее все отобразит