wie bindet man eine zweite file.c in ein projekt ein ?

OP #284438
Lesenswert?
• ▲
▼
hallo ,

ich hab da mal als neueinsteiger eine frage ( hab vorher schon in
entsprechenden unterlagen geschaut, konnte das problem aber nicht
lösen)

ich möchte aus gründen der übersichtlichkeit mehrere quelldateien in c
in einem projekt anlegen. ich arbeite dabei mit avr4-studio.dabei lege
ich im gleichen verzeichnis die neue datei an, binde diese in der
ersten datei mit #incude "filename.c" ein . in die zweite nun
vorhandene quelldatei möchte ich nun zb. eine funktion schreiben,
welche im haupprogramm ( main ) nur aufgerufen wird. sobald ich das
projekt nun simulieren möchte ( buildt and run) kommt eine
fehlermeldung : sinngemäß kein objektfile angelegt usw.
und unter built schreibt avr4-studio noch, das es eine multiple
funktion in der zweiten angelegten quelldatei gibt...
lange rede kurzer sinn, kann mir jemand helfen bei der generierung
mehrerer quelldateien für ein und daselbe projekt ???
vielen dank schon im vorraus !!!
mfg j.m.
Persönliche Seite #284439
Lesenswert?
• ▲
▼
.

  "binde diese in der ersten datei mit #incude "filename.c" ein ."

Das ist der falsche Ansatz. Alle C-Source-Files müssen im Makefile
angegeben werden und per #include dürfen nur Header-Dateien (*.h)
eingebunden werden.

Damit aus einem Sourcefile heraus Funktionen aufgerufen werden können,
die in einem anderen Sourcefile definiert sind, müssen die
Funktionsprototypen dieser Funktionen in einer sinnigerweise genauso
wie das Sourcefile benannten Headerdatei deklariert werden, die dann
von den diese Funktionen verwendenden Sourcefiles #includiert wird.
OP #284440
Lesenswert?
• ▲
▼
danke erstmal für die antwort, ich hab's allerdings auch mit dem
einbinden einer*.h versucht, aber auch ohne erfolg. sollte jemand
avr4studio verwenden, der kann mir gern nochmal nen tip geben. das
avr4studio macht meines erachtens nach die generierung des make-files
automatisch.

also nochmal die frage: wie kann ich mehrere quelltextdateien in
avr4-studio in die erste (datei mit der main-funktion) einbinden ??
am liebsten wäre mir ein kongretes beispiel, so das ich nachvollziehen
kann, wie das funktioniert.
vielen dank im vorraus

mfg j.m.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.