mikrocontroller.net

Forum: Compiler & IDEs C Fremdmodule in Unterverzeichnisse


Autor: JoJo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, kurze Frage, großes Problem.
Ich möchte ein wenig Ordnung in meine Entwicklung bringen und 
Fremdsourcen von meinen eigenen trennen. Normalerweise sind 
Zusatzbibliotheken von FLeur... immer im selben Ordner, wie auch der 
eigene Code. Das ganze Fremdzeug soll nun z.B. nach /externes. Aber 
irgendwie kriege ich das trotz Unterstützung des Chats nicht hin. Klar 
ist soweit, dass die Includes mit den Pfad gefüttert werden müssen also
#include "/externes/lcd.h"
Dann mäckert aber GCC dass er kein Ziel für das kompilieren der im 
Makefile unter SRC erwähnten lcd.c hat. Ich dachte ich müsste da auch 
den Pfad /externes/lcd.c angeben aber das scheitn irgendwie nicht zu 
funktionieren :-(

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier es mal mit einem zusätzlichen Punkt also "./extern/blabla". Ohne 
diesen Punkt geht es doch mit dem ersten Slash im Wurzelverzeichnis los 
und wenn es da dann keinen Ordner extern gibt, dann iss Sense.

Autor: JoJo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte ich auch schon ausprobiert und hatte leider auch nicht geholfen.

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste doch einfach mal dein Makefile

Autor: BennyS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"extern/blabla"
Ohne Punkt und Slash würds ich auch mal probieren, mein das es so ging.

Autor: Michael Z. (incunabulum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was auch noch helfen kann ist, root des Quellcodes als zusätzliches 
Includeverzeichnis zu definieren. Sonst kann - muss aber nicht - es 
Probleme damit geben, dass er die entsprechende header Datei im 
Unterverzeichnis nicht verwendet.

Wenn du das Standardmakefikle von MFile verwendest, dann musst du 
eventuell auch noch einen zusätzlichen Build-Step in make all: einbauen, 
der dir die entsprechende Verzeichnisstruktur in .obj generiert. Siehe 
meinen Thread von gestern oder vorgestern.

cu, mz

Autor: JoJo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier mal das Makefile und den Source rangehängt. Ist aber fast 
das Standartmakefile.
Ich habe wirklich schon alle Kombinationen durchprobiert, er scheint den 
Eintrag für die jeweilige .c Datei die man im makefile auflistet nicht 
zu finden :-(

Autor: JoJo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat keiner eine Idee?

Autor: Michael Z. (incunabulum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spukt der Compiler denn für Fehler aus? Dann könnte man auch besser 
sehen, woran es wirklich liegt....

cu, mz

Autor: Frank W. (frankw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JoJo wrote:
> Ich habe wirklich schon alle Kombinationen durchprobiert, er scheint den
> Eintrag für die jeweilige .c Datei die man im makefile auflistet nicht
> zu finden :-(

Ich habe es mal ausprobiert.
Bei mir geht es, wenn Du bei den "test/lcd.c" usw. die Anführungszeichen 
weglässt.

"test/lcd.c"   ->   test/lcd.c

Gruss
FrankW

Autor: JoJo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
argh daran hätte ich nun wirklich nicht gedacht, gerade weil unten bei 
der Variable für weitere Verzeichnisse explezit drin steht, dass diese 
in Anführungszeichen übergeben werden müssen und die Shell die ja auch 
so verwendet. Naja wieder mal was gelernt, nix ist wie es scheint ;-)

Besten dank nochmal Leute!

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.