digistump / DigistumpArduino

Files to add Digistump support (Digispark, Pro, DigiX) to Arduino 1.6.X (1.6.5+)
934 stars 377 forks source link

Can't compile a project with SoftSerial and DigiKeyboard #97

Closed prk3 closed 5 years ago

prk3 commented 5 years ago

Arduino IDE 1.8.9 Digistump AVR Boards 1.6.7 Digispark USB (ATtiny85)

I've got a sketch with 3 includes:

#include <Arduino.h>
#include <DigiKeyboard.h>
#include <SoftSerial.h>

I get this linker error while compiling the sketch:

libraries/DigisparkTinyPinChange/TinyPinChange.cpp.o: In function `__vector_2':
/home/user/.arduino15/packages/digistump/hardware/avr/1.6.7/libraries/DigisparkTinyPinChange/TinyPinChange.cpp:57: multiple definition of `__vector_2'
libraries/DigisparkKeyboard/usbdrvasm.S.o:/home/user/.arduino15/packages/digistump/hardware/avr/1.6.7/libraries/DigisparkKeyboard/usbdrvasm165.inc:41: first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Digispark (Default - 16.5mhz).

Maybe that's a missing #ifndef? Or an accidental name collision?

prk3 commented 5 years ago

I wrote my own version of SoftSerial and I it still didn't work. The issue disappeared after removing the external interrupt handler. On ATtiny85 there is only one external interrupt and possibly both libraries define handlers for it.

Giova02 commented 3 years ago

I got a similar problem trying using both TinyWire and DigiKeyboard but idk how to solve it

libraries\TinyWire-master\twi.cpp.o: In functionvector_2': C:\Users\10293_000\Documents\Arduino\libraries\TinyWire-master/twi.cpp:822: multiple definition of `vector_2' libraries\DigisparkKeyboard\usbdrvasm.S.o:C:\Users\10293_000\Documents\ArduinoData\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkKeyboard/usbdrvasm165.inc:41: first defined here collect2.exe: error: ld returned 1 exit status exit status 1 Errore durante la compilazione per la scheda Digispark (Default - 16.5mhz). `