mikrocontroller.net

Forum: Compiler & IDEs Makefileunterschied bei I2C Library


Autor: Makefile Verwirrter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe die I2C Library von Peter Fleury getestet. Mit dem 
mitgelieferten Makefile compliiert es wunderbar. Mit meinem eigenen 
kommen Fehler. WO ist da der Unterschied?

Autor: Makefile Verwirrter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und hier das mitgelieferte:

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei deinem wird der TWI-Code gar nicht übersetzt, und damit natürlich 
auch nicht dazu gelinkt.

Autor: Makefile Verwirrter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok danke habe ich auch gerade entdeckt. Man kann den TWI Code ja aber 
auch per include einbinden, dass sollte ja keinen Unterschied machen 
oder?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es mag sein, dass das in diesem konkreten (einfachen) Fall keinen 
Unterschied macht, aber trotzdem solltest du dir so etwas erst gar nicht 
angewöhnen. Füge die Datei der Sourcen-Liste im Makefile hinzu, und gut 
ist's.

Autor: Makefile Verwirrter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich ahbe nochmal eine frage ich habe jetzt die twimaster.c im makefile 
eingebunden in dieser datei ist #include <i2cmaster.h> eingebunden. 
Wieso bekomme ich dann errors, wenn ich nicht nochmal in der Hauptdatei 
die i2cmaster.h einbinde?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil die Dateien unabhängig voneinander übersetzt werden. Beim 
Übersetzen der Hauptdatei ist dem Compiler kein bisschen davon bekannt, 
was in anderen C-Dateien steht. Dies dem Compiler mitzuteilen ist ja 
einer der Hauptzwecke der Header-Dateien.

Autor: Makefile Verwirrter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok und wenn ich jetzt noch eine andere c Datei mit Header Datei habe wie 
binde ich die dann ein?
ins makefile die C Datei und im Hauptfile per include die headerdatei?

Und in den beiden Dateien wo binde ich dann #include <stdint.h> ein? In 
der Headerdatei? Oder im C oder in beiden?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du bindest die jeweiligen Header immer dort ein, wo du sie brauchst. 
Wenn z.B. in der Datei xyz.c die TWI-Funktionen benutzt werden, dann 
bindest du dort die twimaster.h ein, und wenn nicht, dann nicht.

Autor: Makefile Verwirrter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich verstehe den Sinn der Headerdatei k´jetzt so ich binde die 
Header Datei in die c Datei ein. in der Headerdatei binde ich die in der 
Headerdatei und in der c Datei benötigten Headerdateien ein. In der 
headerdatei deklariere ich u.a. die Funtionsprototypen für die C Datei.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.