Hallo liebe Forenmitglieder, Für ein kleines Projekt würde ich gerne ASM und C++ Source mischen. Als IDE benutze ich AVR Studio 6. Das Problem ist, dass der Compiler die externen Funktionen nicht findet und immer unknown Reference zurückgibt. Weiß jemand woran das liegen könnte und ob ich einen Fehler in der Deklaration hab. Freue mich auf Antworten Mfg Trist
wie hast du es denn genau gemacht? Wird dem linker das Object file mit übergeben?
Trist schrieb: > ob ich einen Fehler in der Deklaration hab. Das könnte wohl sein. Wie sieht die denn bei dir aus?
Ich wollte eigentlich schon im ersten Post das kleine Testprojekt anhängen. Ist irgendwie schiefgegangen
Geht doch. "extern" alleine hat keine Wirkung, das kann weg. Du musst
1 | extern "C" void Funktion(); |
schreiben sonst "dekoriert" der C++ Compiler den Namen mit Typinformationen und findet die Funktion nicht unter diesem Namen.
du verwendest C++. Da musst du die Funktion als Extern "C" deklarieren. Das Extern wie du es geschrieben hast ist bei C auch nicht notwendig. Macht man nur bei variablen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.