I've set myself an ambitious first project to try Arduinos out and found the official IDE to be a bit limited for what I'm trying to accomplish. I decided to give Eclipse a try as I've used it a bit before for Java development. I've got things mostly setup, but I'm having a bit of an issue. I have the Arduino Eclipse plugin installed and setup AVR Cross Target Static Library projects for Arduino Core and the Ethernet and SPI libraries. All are compiling fine and I get the static output files. When I go to link my sketch against the Ethernet library, though, I'm getting the following error.
avr-gcc -Os -Wl,--gc-sections -L"C:\Users\dave\Documents\Arduino\Arduino_Ethernet/Release" -L"C:\Users\dave\Documents\Arduino\SPI\Release" -L"C:\Users\dave\Documents\Arduino\Ethernet\Release" -mmcu=atmega328p -o"SmartHome.elf" ./src/SmartHome.o -l"Arduino_Ethernet" -lSPI -lEthernet -lm C:\Users\dave\Documents\Arduino\Ethernet\Release\libEthernet.a(w5100.o): In function `W5100Class::init()': C:/arduino-1.0/libraries/Ethernet/utility/w5100.cpp:30: undefined reference to `SPIClass::begin()' make: *** [SmartHome.elf] Error 1
I'm a bit at a loss what the issue is here, since SPI.begin() clearly exists and I'm including the SPI library in my link statement. I'm admittedly not super well versed in C/C++ development, so I may be over-looking something obvious though. Anyone have any suggestions?