Hallo,
ich habe eine Library für einen Display in Atemel Studio 7 geschrieben.
Diese kompliert auch sauber. Beim Einbinden in mein mainfile kompiliert
dieses alledings nur, wenn die Memberfunktion im Headerfile und nicht im
Sourcefile implementiert wird. (Betrifft nur das Hauptprogram, Lib
selbst kompliert in beiden Szenarien)
* Sourcefile wird von der Library gefunden. (Header ist im Source
inkludiert)
* includeguards sind vorhanden.
* Headerfile ist unter Project->Projectname
Properties..->Toolchain->AVR/GNU C++ Compiler->Directories
bekanntgegeben und ins mainfile includiert.
* Die Library(libxxx.a) ist eingebunden. (auch unter
Project->Projectname Properties..->Toolchain->AVR/GNU Linker->Libraries)
Die Bibliothek besteht aus einer Basisklasse und einer davon
abgeleiteten Klasse, wobei das beschriebe Problem sowohl in der Basis-
als auch in der abgeleiteten Klasse vorhanden ist.
Diese Fehlermeldung wird ausgegeben:
* recipe for target 'TPS_DM_main.elf' failed.
* ld returnde 1 exit status.
Wobei diese meines Wissens nach nur sagen, dass das Program nicht
kompiliert.
Kompiliert:
Header:
1 | class classname : public baseclassname
|
2 | {
|
3 | public:
|
4 | void doSomething()
|
5 | {...}
|
6 | };
|
Kompliert nicht:
Header:
1 | class classname : public baseclassname
|
2 | {
|
3 | public:
|
4 | void doSomething();
|
5 | };
|
Source:
1 | void classname::doSomething()
|
2 | {...}
|
Danke schon mal im voraus
Lg Mario