Forum: Compiler & IDEs C, undefined reference to xxx


von Johannes (Gast)


Lesenswert?

Hallo,

ich hab ein header file  xxx.h geschrieben mit ein paar Definitionen
und Funktionen (bzw Funktionsheadern) fuer die RS232; dazu ein
implementation file xxx.cpp wo die ganzen Funktionen ausgeschrieben
sind.
in meinerm Hauptprogramm schreibe ich nun #include "xxx.h" aber er
bringt mir als Fehlermeldung immer: undefined reference to sendRTC oder
zie auch immer die Funktionen heissen... Die header und impl. Dateien
sind i, gleichen ORdner wie das Hauptfile.

eigentlich muesste es doch funktionieren, tut aber nicht. Ich arbeite
unter linux.

mersi fuer eure Tips,
Johannes

von Alex (Gast)


Lesenswert?

Trag die *.c Datei noch im Makefile ein.

von Johannes (Gast)


Lesenswert?

wo finde ich das makefile?

Ich verwende ganz einfach den g++ compiler in einem linux-terminal

Johannes

von Christoph _. (chris)


Lesenswert?

Wenn du g++ direkt aufrufst, musst du alle .cpp-Dateien auf der
Kommandozeile übergeben, nicht nur die, in der main() definiert ist.

Ich würd dir aber raten, ein einfaches Makefile zu erstellen, damit
verkürzt sich zum einen deine Compile-Zeit und zum anderen deine
Schreibarbeit (unter Linux ist gnu make eh fast immer vorhanden).

Einfache Beispiele und die Komplettanleitung zu make gibts hier:
http://www.gnu.org/software/make/manual/make.html

von Unbekannter (Gast)


Lesenswert?

g++ -c -Wall datei1.cpp
  g++ -c -Wall datei2.cpp
  g++ -c -Wall datei3.cpp
  g++ -o programm datei1.o datei2.o datei3.o

Oder, wenn Du Compilieren und Linken in einem Schritt machen willst:

  g++ -Wall -o programm datei1.cpp datei2.cpp datei3.cpp

von Johannes (Gast)


Lesenswert?

Danke fuer die Tips. "ich wurde damit geholfen"

Johannes

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.