PULTOSCOPE_LCD5110_final2_DDS_Z Ошибки при компиляции...

Тема в разделе "Arduino & Shields", создана пользователем blackcatw, 9 окт 2016.

  1. blackcatw

    blackcatw Нерд

    Решил собрать образец пульсоскопа (ограниченного по функциональности осцилографа)
    вот отсюда видимо разные версии IDE и поэтому на выдаёт ошибку
    Код (C++):
    Arduino: 1.6.9 (Linux), Плата:"Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"

    libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin): In function `Adafruit_GFX::drawLine(int, int, int, int, unsigned int)':
    (.text+0x0): multiple definition of `Adafruit_GFX::drawLine(int, int, int, int, unsigned int)'

    sketch/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin): In function `Adafruit_GFX::drawLine(int, int, int, int, unsigned int)':
    (.text+0x0): multiple definition of `Adafruit_GFX::drawRect(int, int, int, int, unsigned int)'

    sketch/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin): In function `Adafruit_GFX::drawLine(int, int, int, int, unsigned int)':
    (.text+0x0): multiple definition of `Adafruit_GFX::drawFastVLine(int, int, int, unsigned int)'

    sketch/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin): In function `Adafruit_GFX::drawLine(int, int, int, int, unsigned int)':
    (.text+0x0): multiple definition of `Adafruit_GFX::drawFastHLine(int, int, int, unsigned int)'

    sketch/Adafruit_GFX_Library/Adafruit_GFX.cpp.o (symbol from plugin):(.text+0x0): first defined here
    (Чуток вырезано)
    libraries/Adafruit-PCD8544-Nokia-5110-LCD-library/Adafruit_PCD8544.cpp.o (symbol from plugin): In function `pcd8544_buffer':
    (.text+0x0): multiple definition of `pcd8544_buffer'

    sketch/Adafruit_GFX_Library/Adafruit_PCD8544.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/Adafruit-PCD8544-Nokia-5110-LCD-library/Adafruit_PCD8544.cpp.o (symbol from plugin): In function `pcd8544_buffer':
    (.text+0x0): multiple definition of `Adafruit_PCD8544::drawPixel(int, int, unsigned int)'

    sketch/Adafruit_GFX_Library/Adafruit_PCD8544.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/Adafruit-PCD8544-Nokia-5110-LCD-library/Adafruit_PCD8544.cpp.o (symbol from plugin): In function `pcd8544_buffer':
    (.text+0x0): multiple definition of `Adafruit_PCD8544::getPixel(signed char, signed char)'

    sketch/Adafruit_GFX_Library/Adafruit_PCD8544.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/Adafruit-PCD8544-Nokia-5110-LCD-library/Adafruit_PCD8544.cpp.o (symbol from plugin): In function `pcd8544_buffer':
    (.text+0x0): multiple definition of `Adafruit_PCD8544::Adafruit_PCD8544(signed char, signed char, signed char, signed char, signed char)'

    sketch/Adafruit_GFX_Library/Adafruit_PCD8544.cpp.o (symbol from plugin):(.text+0x0): first defined here
    (чуток вырезано)
    libraries/FreqCount/FreqCount.cpp.o (symbol from plugin): In function `FreqCountClass::begin(unsigned int)':
    (.text+0x0): multiple definition of `FreqCountClass::begin(unsigned int)'

    sketch/FreqCount/FreqCount.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/FreqCount/FreqCount.cpp.o (symbol from plugin): In function `FreqCountClass::begin(unsigned int)':
    (.text+0x0): multiple definition of `FreqCountClass::available()'

    sketch/FreqCount/FreqCount.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/FreqCount/FreqCount.cpp.o (symbol from plugin): In function `FreqCountClass::begin(unsigned int)':
    (.text+0x0): multiple definition of `FreqCountClass::read()'

    sketch/FreqCount/FreqCount.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/FreqCount/FreqCount.cpp.o (symbol from plugin): In function `FreqCountClass::begin(unsigned int)':
    (.text+0x0): multiple definition of `FreqCountClass::end()'

    sketch/FreqCount/FreqCount.cpp.o (symbol from plugin):(.text+0x0): first defined here
    (чуток вырезано)
    libraries/PWM/utility/BTimerDefs.cpp.o (symbol from plugin): In function `GetPrescaler_8(int)':
    (.text+0x0): multiple definition of `GetPrescaler_8(int)'

    sketch/PWM/utility/BTimerDefs.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/PWM/utility/BTimerDefs.cpp.o (symbol from plugin): In function `GetPrescaler_8(int)':
    (.text+0x0): multiple definition of `GetPrescaler_16()'

    sketch/PWM/utility/BTimerDefs.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/PWM/utility/BTimerDefs.cpp.o (symbol from plugin): In function `GetPrescaler_8(int)':
    (.text+0x0): multiple definition of `GetFrequency_16()'

    sketch/PWM/utility/BTimerDefs.cpp.o (symbol from plugin):(.text+0x0): first defined here
    (чуток вырезанно)
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `UART_Init(unsigned long)'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `UART_SendByte(unsigned char)'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `UART_ReadByte(unsigned char&)'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    (чуток вырезанно)
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `func'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `dub_tcnt1'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `StopTimer1()'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `ResumeTimer1()'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `RestartTimer1()'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `__vector_13'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `find_similar(unsigned int*, unsigned char, unsigned char)'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    (чуток вырезанно)
    libraries/CyberLib/CyberLib.cpp.o (symbol from plugin): In function `UART_Init(unsigned long)':
    (.text+0x0): multiple definition of `delay_ms(unsigned int)'

    sketch/CyberLib/CyberLib.cpp.o (symbol from plugin):(.text+0x0): first defined here
    collect2: error: ld returned 1 exit status
    exit status 1
    Ошибка компиляции для платы Arduino Pro or Pro Mini.

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
    Сможет кто-нибудь подсказать где и что исправить? Я что-то помню, на тему изменений, что нужно где-то что-то изменить, так как IDE притерпела изменения и некоторые скечи нужно как-то изменить...
     
  2. rkit

    rkit Гуру

    Выкинуть из скетча Adafruit_GFX_Library, ошибки-то читай.
     
  3. blackcatw

    blackcatw Нерд

    Тогда, судя по логике, придётся выкинуть и все остальные библиотеки...

    При выкидывании библиотеки получаются уже ошибки в коде скетча.
     
  4. rkit

    rkit Гуру

    Не знаю, что это за "логика" такая. Еще раз предложу просто прочитать ошибки.
     
  5. blackcatw

    blackcatw Нерд

    блиотеки / Adafruit_GFX_Library / Adafruit_GFX.cpp.o (символ из плагина): В функции `Adafruit_GFX :: DrawLine (INT, INT, INT, INT, неподписанные INT) ':
    (.text + 0x0): кратное определение `Adafruit_GFX :: DrawLine (INT, INT, INT, INT, неподписанные INT) '
    DrawLine - неподписанные INT.
    Что за неподписанные? Могу предположить, что что-то не подходит по типам. При чём практически по всем подключаемым библиотекам.
     
  6. rkit

    rkit Гуру

    Понятно. Ну я сказал, в чем проблема. А вообще очень советую изучать английский, если уж решил связаться с программирование.
     
  7. blackcatw

    blackcatw Нерд

    В итоге на вопрос я так и не получил ответа.
    Конечно "умничать" легче, чем помочь...
     
  8. rkit

    rkit Гуру

    Я простым языком объяснил, что надо сделать, чтобы исправить приведенные ошибки. Дальше уж проблема получающего.
     
  9. blackcatw

    blackcatw Нерд

    Данным способом ошибка не исправляется. Т.к. в скетче появляются ошибки ссылки на библиотеку.

    Ваше объяснение не помогает.
     
  10. rkit

    rkit Гуру

    Ах, так там другие ошибки появляются? Извиняюсь, у меня телепатических способностей нету.
     
  11. blackcatw

    blackcatw Нерд

    Они и не нужны. Просто внимательней читать нужно.
     
  12. rkit

    rkit Гуру

    Перечитал четыре раза - текста новых ошибок не нашел
     
  13. blackcatw

    blackcatw Нерд

    Ну я не про текст писал. Я писал про то, что идут новые ошибки.
     
  14. blackcatw

    blackcatw Нерд

    Arduino: 1.6.9 (Linux), Плата:"Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"

    In file included from /home/blackcat/Work/PULTOSCOPE_LCD5110_final2_DDS_Z/PULTOSCOPE_LCD5110_final2_DDS_Z.ino:3:0:
    /home/blackcat/Arduino/libraries/Adafruit-PCD8544-Nokia-5110-LCD-library/Adafruit_PCD8544.h:69:46: error: expected class-name before '{' token
    class Adafruit_PCD8544 : public Adafruit_GFX {
    ^
    /home/blackcat/Work/PULTOSCOPE_LCD5110_final2_DDS_Z/PULTOSCOPE_LCD5110_final2_DDS_Z.ino: In function 'void setup()':
    PULTOSCOPE_LCD5110_final2_DDS_Z:63: error: 'class Adafruit_PCD8544' has no member named 'setCursor'
    display.setCursor(10,0);
    ^
    PULTOSCOPE_LCD5110_final2_DDS_Z:64: error: 'class Adafruit_PCD8544' has no member named 'setTextColor'
    display.setTextColor(WHITE, BLACK); // 'inverted' text
    ^
    (далее для экономии места удалено, т.к. всё однотипно)

    PULTOSCOPE_LCD5110_final2_DDS_Z:555: error: 'class Adafruit_PCD8544' has no member named 'print'
    display.print(incomingBytes); // Печать строки в буффер дисплея
    ^
    exit status 1
    'class Adafruit_PCD8544' has no member named 'setCursor'

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
     
  15. rkit

    rkit Гуру

    Adafruit_GFX_Library, включенная в иде не совместима с библиотекой, используемой в скетче. Значит надо все-таки использовать бибиотеку из скетча, а библиотеку из иде отключить/удалить (не знаю, как это делается). Но я так чувствую, что там и дальше начнутся проблемы, которые придется весь вечер сидеть разгребать.
    Короче, проще будет взять иде той версии, под которую был написан скетч.
     
  16. blackcatw

    blackcatw Нерд

    Ну написал. Ошибки.
     
  17. ZAZ-965

    ZAZ-965 Гуру

    @blackcatw, автор пультоскопа зачем-то перенес содержимое библиотеки Adafruit-PCD8544-Nokia-5110-LCD-library в библиотеку Adafruit-GFX-Library. Поэтому, или временно удалите библиотеку Adafruit-PCD8544-Nokia-5110-LCD-library или из библиотеки Adafruit-GFX-Library удалите Adafruit_PCD8544.cpp и Adafruit_PCD8544.h
     
  18. blackcatw

    blackcatw Нерд

    Блин... АЛЕЛЛУЯ!!! Вы мистер очевидность....
    Я в первых строках об этом написал...
     
  19. blackcatw

    blackcatw Нерд

    Хм... Что-то видимо не совсем так....
    Попробовал через IDE среду вызвать пример pcdtest.ino в начале скетча, тоже есть объявление
    #include <SPI.h>
    #include <Adafruit_GFX.h>
    #include <Adafruit_PCD8544.h>
    И скомпилировалось нормально.... Может что-то где-то напутанно?
     
  20. shpock

    shpock Гик

    Скачал я этот скетч PULTOSCOPE_LCD5110_final2_DDS_Z, побыстряку собрал все это чудо, запустил компилятор на Arduino: 1.6.8 (Windows 10) (у автора поста под Linux) - и посыпались ошибочки.
    Так вот у меня первая проблемка из-за того что ищет файл WProgram.h, тоисть скетч ваялся на Arduino: 1.0.? (а точнее библиотеки).
    нужно везде в библиотеках где #include "WProgram.h", заменить на
    Код (C++):
    #if defined(ARDUINO) && ARDUINO >= 100
      #include "Arduino.h"
    #else
      #include "WProgram.h"
    #endif
    дальше было несколько матов на константы, которые не описаны как константы )), изменил.
    Дальше полетели ошибки на таймеры....... Я компилировал для Леонардо. Решил попробовать для УНО, и опа, все заработало. Для Про и Про Мини тоже компилируется.
    Вот как то так.
     

    Вложения: