Ausgliederung Funktionen in externe Datei

Gast #39582
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
Gast #39583
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.
Gast #39584
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ß
Gast #39585
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).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren