Einbindung von Verzeichnissen im Makefiles



  • Hallo zusammen,
    ich habe ein Problem: Ich binde in meine Dateien die stdlib.h ein. Dazu muss ich im Makefile den entsprechenden Pfad angeben. Habe ich getan, und er findet es auch. Nun bindet stdlib wiederum mem.h ein, das liegt im selben Verzeichnis. Und das findet er nicht.
    Hat jemand eine Ahnung, woran das liegen könnte? Ist jetzt im Grunde genommen kein C-Problem, sondern ein Makefile Problem, ich hoffe Ihr verzeiht mir, dass ich das trotzdem hier bringe.
    Gruß,
    LukeSkywalker



  • naja, wenn du allgemein dein include-dir mit -I/bla/bla eingebunden hast, sollte es gehen...

    oder versuch einfach, garnix einzustellen, wenn die pfade richtig gesetzt sind (und deine header auch mitgelieferter standard sind) müsste es auch so gehen.



  • Hallo Loki,
    es geht aber leider nicht, das ist ja mein Problem ...
    Gruß,
    LukeSkywalker



  • gut. aber du könntest dich ja mal dazu überreden, ein bisschen zu erklären. z.b.: liegt dein header im standard-verzeichnis, welche plattform, welcher compiler....



  • Dazu muss ich im Makefile den entsprechenden Pfad angeben

    das hat nichts mit make zu tun - das liegt am Compiler bzw. Präprozessor - wenn du eine Headerdatei in der Form <...> - also mit Spitzen Klammern einbindest dann sucht der Präprozessor in den zur Installation bzw. von dir eingestellten Standard Pfaden nach und falls es dort keine Datei mit diesem Namen gibt wird eine Fehlermeldung ausgegeben



  • exakt... die angabe des include-ordners im makefile ist optional und additiv, das heisst es wird nur durchsucht, wenn im standardverzeichnis eine datei nicht gefunden wurde (oder umgekehrt?)....

    das ist in soweit sinnvoll, dass eigene, mitgelieferte header gefunden werden (relativ zur location des makefiles)



  • kannst du mal den quelltext des makefiles hier reinstellen?



  • [quote="Konfusius"]kannst du mal den quelltext des makefiles hier reinstellen?[/quote]

    Oh, megapeinlich, als ich das einstellen wollte, habe ich den Fehler gesehen. Der Pfad hat nicht ganz gestimmt
    Gruß,
    LukeSkywalker


Log in to reply