Forum: Compiler & IDEs C Fremdmodule in Unterverzeichnisse


von JoJo (Gast)


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 :-(

von Thomas (Gast)


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.

von JoJo (Gast)


Lesenswert?

Hatte ich auch schon ausprobiert und hatte leider auch nicht geholfen.

von SiO2 (Gast)


Lesenswert?

Poste doch einfach mal dein Makefile

von BennyS (Gast)


Lesenswert?

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

von Michael Z. (incunabulum)


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

von JoJo (Gast)


Angehängte Dateien:

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 :-(

von JoJo (Gast)


Lesenswert?

Hat keiner eine Idee?

von Michael Z. (incunabulum)


Lesenswert?

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

cu, mz

von Frank W. (Firma: DB1FW) (frankw) Benutzerseite


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

von JoJo (Gast)


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!

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.