Forum: Compiler & IDEs c++ library einbinden in avr studio


von Michael Z. (buddhafragt)


Lesenswert?

hallo,
ich versuche schon seid Tagen eine .CPP library in ein C Projekt 
einzubinden, ich habs mit avr studio 4.1, 5 und 6 versucht, verschiedene 
makefiles.. immer linker fehler.
Woran kann das liegen??

gruß
Michael

von Klaus W. (mfgkw)


Lesenswert?

ach, der gute alte Linkerfehler. Jaja, das kennt man...
Vor allem bei der CPP Library, das hatte jeder schon mal.

PS: geht es auch etwas genauer? Am besten lesbar?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

avr-g++ hat keinen vollständigen C++ Support, zum Beispiel keine 
libstdc++.

von Michael Z. (buddhafragt)


Lesenswert?

also etwas genauer.....

die Fehlermeldung lautet:

WString.h:28: error: expected '=', ',', ';', 'asm' or '__attribute__' 
before 'String'

Das soll mir sagen, das die source (WString.cpp) nicht als c++ erkannt 
wird, richtig??

der Code in WString.h:28 lautet:

class String
{
  public:
    // constructors
    String( const char *value = "" );
    String( const String &value );
    String( const char );
    String( const unsigned char );
    String( const int, const int base=10);
    String( const unsigned int, const int base=10 );
    String( const long, const int base=10 );
    String( const unsigned long, const int base=10 );
    ~String() { free(_buffer); _length = _capacity = 0;}     //added 
_length = _capacity = 0;

    // operators
    const String & operator = ( const String &rhs );
    const String & operator +=( const String &rhs );
    //const String & operator +=( const char );
    int operator ==( const String &rhs ) const;
    int  operator !=( const String &rhs ) const;
.
.
.
usw.


Gruß
Michael

von Oliver S. (oliverso)


Lesenswert?

Das soll dir erst mal nur sagen, daß in (oder vor) Zeile 28 etwas nicht 
stimmt.

Oliver

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.