sparkfun / PSoC_Arduino_Support

Support projects for PSoC processor support within the Arduino IDE
25 stars 11 forks source link

Wire library (I2C) not compiling (linking problem ?) #10

Closed JBChossat closed 9 years ago

JBChossat commented 9 years ago

Wire library does not compile in sketch although this library is supposedly ported for the Freesoc2 board. It seems that there is some linking problem during compilation because wire was written in C++ ? Library added using the native arduino IDE: Sketch-> Include library->Wire. Adds following includes in the code:

include

include

Rest of the code is empty.

Error Message : Arduino: 1.6.4 (Windows 7), Board: "PSoC Dev Board"

Build options changed, rebuilding all

Using library Wire in folder: C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\libraries\Wire (legacy)

C:\Users\jb\AppData\Roaming\Arduino15\packages\arduino\tools\arm-none-eabi-gcc\4.8.3-2014q1/bin/arm-none-eabi-gcc -x c++ -D NDEBUG -Wall -ffunction-sections -g -c -Os -mcpu=cortex-m3 -mthumb -Wno-main -Wno-exceptions -IC:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino -IC:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\variants\standard -IC:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\libraries\Wire C:\Users\jb\AppData\Local\Temp\build2236105589300501910.tmp\sketch_jun14a.cpp -o C:\Users\jb\AppData\Local\Temp\build2236105589300501910.tmp\sketch_jun14a.cpp.o

In file included from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/Project.h:66:0, from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\libraries\Wire/Arduino_I2C.h:4, from sketch_jun14a.ino:1: C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/WSDriver_fonts.h:27:6: error: previous declaration of 'void WSDriver_SetFont(uint32)' with 'C++' linkage void WSDriver_SetFont( uint32 font); ^ In file included from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/project.h:66:0, from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/Arduino.h:6, from sketch_jun14a.ino:4: C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/WSDriver_fonts.h:27:35: error: conflicts with new declaration with 'C' linkage void WSDriver_SetFont( uint32 font); ^ In file included from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/Project.h:66:0, from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\libraries\Wire/Arduino_I2C.h:4, from sketch_jun14a.ino:1: C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/WSDriver_fonts.h:28:6: error: previous declaration of 'void WSDriver_PutChar(int32, int32, uint8, uint32, uint32)' with 'C++' linkage void WSDriver_PutChar(int32 row, int32 col, uint8 theChar, uint32 fg, uint32 bg); ^ In file included from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/project.h:66:0, from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/Arduino.h:6, from sketch_jun14a.ino:4: C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/WSDriver_fonts.h:28:80: error: conflicts with new declaration with 'C' linkage void WSDriver_PutChar(int32 row, int32 col, uint8 theChar, uint32 fg, uint32 bg); ^ In file included from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/Project.h:66:0, from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\libraries\Wire/Arduino_I2C.h:4, from sketch_jun14a.ino:1: C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/WSDriver_fonts.h:29:6: error: previous declaration of 'void WSDriver_PrintString(int32, int32, char, uint32, uint32)' with 'C++' linkage void WSDriver_PrintString(int32 row, int32 col, char * theString, uint32 fg, uint32 bg); ^ In file included from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/project.h:66:0, from C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/Arduino.h:6, from sketch_jun14a.ino:4: C:\Program Files (x86)\Arduino\hardware\SparkFun\psoc\cores\arduino/WSDriver_fonts.h:29:87: error: conflicts with new declaration with 'C' linkage void WSDriver_PrintString(int32 row, int32 col, char \ theString, uint32 fg, uint32 bg); ^ cc1plus.exe: warning: unrecognized command line option "-Wno-exceptions" [enabled by default] Error compiling.

mhord commented 9 years ago

I (apparently) added a file without protecting an include.

It's fixed, now, in V 0.1.2.