Forum: Compiler & IDEs Ausgliederung Funktionen in externe Datei


von Steffen (Gast)


Lesenswert?

Hallo zusammen,
ich hatte vor längerem schon einmal im Forum dazu ein Frage gestellt. 
(http://www.mikrocontroller.net/forum/read-2-20992.html)

Ich kam leider erst jetzt dazu, das Ganze zu realisieren.

Dabei habe ich folgendes Problem, dass wenn ich das *.h File in meinem 
main file einbinde, ich Fehlermeldungen über nicht gefundene Funktionen 
bekomme.
Binde ich allerdings das *.c file ein, so funktioniert alles ohne 
Probleme.

Ich habe die Funktionen wie folgt aufgeteilt:
*.h  -> Funktionsprototypen und Variablendecleration
*.c  -> Funktionsdefinitionen

Kann mir jemand sagen, warum das bei mir verdreht ist? Ich habe mir 
schon andere ausgegliederte Dateien angeschaut, die sind ebenso wie auch 
mir vorgeschlagen wurde, aufgebaut. Und sie funktionieren ebenfalls 
nicht, wenn ich sie bei mir in die SW einbinde.
Ist mein Compiler veraltet? Arbeit mit avr-gcc vom Sept. 2001

Vielen Dank im Voraus
Gruß
Steffen

von Joerg Wunsch (Gast)


Lesenswert?

Dein Compiler ist veraltet, ja.  Aktuell sind Compilerversionen
der 3.3er Linie (auch wenn gcc 3.3 noch nicht offiziell
freigegeben ist).

Aber Dein Problem ist sicher, daß Du nur eine einzelne C-Datei
überhaupt versuchst zu Compilieren und zu Linken -- denke ich
jedenfalls, Du hast nicht geschrieben, was Du genau machst.

von Steffen (Gast)


Lesenswert?

Hi,
ich möchte alle Funktionen zur LCD Ansteuerung ausgliedern.
Muss ich dann ein extra makefile für das lcd.c file anlegen und auch 
extra compilieren? Ich versteh nicht ganz was Du meinst. Gruß

von Joerg Wunsch (Gast)


Lesenswert?

Du mußt kein extra Makefile anlegen, Makefile gibt es genau
eins für das ganze Projekt.

Aber dieses Makefile muß natürlich alle Quelldateien benennen,
die im Projekt erfaßt werden sollen.  Selbstverständlich müssen
alle einzelnen C-Dateien eines Projekts auch alle compiliert
werden (und am Ende zu einem Ergebnis gelinkt).

von Steffen (Gast)


Lesenswert?

Vielen Dank. Jetzt funktioniert alles bestens.
Gruß

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.