Multiple definition i2c_t3

Hi,

How to solve the multiple definition ?

C:\Users\a\AppData\Local\Temp\arduino_build_48708\libraries\i2c_t3-master\i2c_t3.cpp.o: In function `i2c0_isr':

C:\Users\a\Documents\Arduino\libraries\i2c_t3-master/i2c_t3.cpp:1134: multiple definition of `i2c0_isr'

C:\Users\a\AppData\Local\Temp\arduino_build_48708\libraries\Wire\WireKinetis.cpp.o:C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Wire/WireKinetis.cpp:912: first defined here

c:/program files (x86)/arduino/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions

C:\Users\a\AppData\Local\Temp\arduino_build_48708\libraries\i2c_t3-master\i2c_t3.cpp.o: In function `Print::flush()':

C:\Users\a\Documents\Arduino\libraries\i2c_t3-master/i2c_t3.h:883: multiple definition of `i2c1_isr'

C:\Users\a\AppData\Local\Temp\arduino_build_48708\libraries\Wire\WireKinetis.cpp.o:C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\Wire/WireKinetis.h:136: first defined here

  • I tried to remove the library i2c_t3-master. Without this it says the library doesn't exist.
  • Reinstall the library
  • Tried to delete C:\Users\a\AppData\Local\Temp\arduino_build_.....
  • Search into C: i2c_t3; found only one library

What to do now ????

Thanks

I suggest that you post your code.

I think that the i2c_t3 library is not defined twice, but the interrupts are used more than once.
Perhaps you use the i2c_t3 library, and there might be a library that uses the normal Wire library. That other library might be the WireKinetis library, I think it is not compatible with i2c_t3.

These lines show that other I2C busses can be used, but I don't see how it can use the i2c_t3 library: https://github.com/PaulStoffregen/Wire/blob/master/WireKinetis.cpp#L909

It might be possible to use an other I2C bus for that. Then use i2c_t3 on the first I2C bus and the normal Wire library on the other I2C bus. I don't know if that is a good solution, it does not feel right.

Thanks to all

I suggest that you post your code

It works on an another computer.

Perhaps you use the i2c_t3 library, and there might be a library that uses the normal Wire library. That other library might be the WireKinetis library, I think it is not compatible with i2c_t3.

It's probably true! I founded on one library
#include <i2c_t3.h>

and do:
//#include <i2c_t3.h>
#include <Wire.h>
And it compiles without error.

But why i2c_t3 is not working it's strange !

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.