Eclipse and SoftwareSerial.H

I am moving into the C language and I’m having a problem setting up Eclipse to run Ardunio code.

I have installed the newest Eclipse ( the newest AVR plug in ( win XP SP3.

I can Compile\Upload\Run the example Hello and blink programs with out a problem.

However when I try to include SoftwareSerial.h or NewSoftwareSerial.h, Eclipse give the following error message.

SoftwareSerial.h:25: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘SoftwareSerial’.

Looking at SoftwareSerial.h Line 25, it contains: class SoftwareSerial.

I have Google searched the Arduino and AVR Freaks Forums plus the Web but I cannot find an answer to this “Class” issue. If I were further along the C learning curve I’m sure the answer would be perfectly clear, but for now I need Help.Any Ideas??
Here is the code.

The lib ACW001.h is from

#include <ACW001.h>
#include <SoftwareSerial.h>

//SoftwareSerial mySerial =  SoftwareSerial(0, 3);

int main(void)


      for (;;)

      return 0;

void setup()

void loop()


SoftwareSerial.h code

#ifndef SoftwareSerial_h
#define SoftwareSerial_h

#include <inttypes.h>

class SoftwareSerial
    uint8_t _receivePin;
    uint8_t _transmitPin;
    long _baudRate;
    int _bitPeriod;
    void printNumber(unsigned long, uint8_t);
    SoftwareSerial(uint8_t, uint8_t);
    void begin(long);
    int read();
    void print(char);
    void print(const char[]);
    void print(uint8_t);
    void print(int);
    void print(unsigned int);
    void print(long);
    void print(unsigned long);
    void print(long, int);
    void println(void);
    void println(char);
    void println(const char[]);
    void println(uint8_t);
    void println(int);
    void println(long);
    void println(unsigned long);
    void println(long, int);


The keyword "class" is not a valid C keyword. It is a valid C++ keyword. Are you trying to use a C compiler or a C++ compiler?

Pauls: At first I was using the C compiler then switched to C+ after reading up on “Case”. I had to include the following two lines of code in any one .cpp file included in the project to get rid of the error:
"undefined reference to `__cxa_pure_virtual’.

extern "C" void __cxa_pure_virtual(void);
void __cxa_pure_virtual(void) {}

Now I can C+ compile my empty project above but as soon as i include <SoftwareSerial.h> , again I get:
SoftwareSerial.h:25: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before 'SoftwareSerial.

All I have gained using the C+ compiler is to double the size of of my output HEX file. I am sure there are others using Eclipse with SoftwareSerial, I just need to see how they did it. Hello out there!

I really think you need one more upgrade.

All I have gained using the C+ compiler is

Upgrade to the C++ compiler.

Thanks for catching that. Correction, I'm using the AVR C++ compiler and NOT the C+ compiler.