make: keine Meldung, wenn include-file nicht gefunden

  • Ich habe immer wieder das Problem, dass beim Erstellen eines Projekts mit make der Vorgang einfach mit einer allgemeinen und nichtssagenden Fehlermeldung abgebrochen wird, wenn eine include-Datei in den Suchpfaden nicht gefunden wurde.
    Dann bleibt nur entweder Raten oder make mit dem Parameter "-d" auszuführen. In letzterem Fall wird man dann allerdings von debug-output erschlagen...
    Kennt vielleicht jemand irgendeine Option, wie man in so einem Fehlerfall standardmäßig eine brauchbare Fehlermeldung kriegen kann?

  • Ich habe immer wieder das Problem, dass beim Erstellen eines Projekts mit make der Vorgang einfach mit einer allgemeinen und nichtssagenden Fehlermeldung abgebrochen wird, wenn eine include-Datei in den Suchpfaden nicht gefunden wurde.
    Dann bleibt nur entweder Raten oder make mit dem Parameter "-d" auszuführen. In letzterem Fall wird man dann allerdings von debug-output erschlagen...
    Kennt vielleicht jemand irgendeine Option, wie man in so einem Fehlerfall standardmäßig eine brauchbare Fehlermeldung kriegen kann?

    Normalerweise unterdrueckt make die Ausgabe des Compilers nicht. Du machst also irgendwas falsch. Aber Du schreibst leider nicht, wie Deine Makefiles aussehen, geschweige denn welches "make" du verwendest, noch wie die "nichtssagende Fehlermeldung" aussieht. Da ist es schwierig Dir zu helfen...

  • Normalerweise unterdrueckt make die Ausgabe des Compilers nicht. Du machst also irgendwas falsch. Aber Du schreibst leider nicht, wie Deine Makefiles aussehen, geschweige denn welches "make" du verwendest, noch wie die "nichtssagende Fehlermeldung" aussieht. Da ist es schwierig Dir zu helfen...


    Da hast du natürlich recht, war dumm von mir, das nicht detaillierter zu beschreiben...
    Ausgaben vom Compiler gibt's - soweit ich das verstanden habe - deshalb nicht, weil make selbst den Prozess abbricht, während es die .d-Dateien mit den nötigen Headers für eine c-Datei erstellt.
    Ich werde bei nächster Gelegenheit genauere Details nachliefern.

  • Da hast du natürlich recht, war dumm von mir, das nicht detaillierter zu beschreiben...
    Ausgaben vom Compiler gibt's - soweit ich das verstanden habe - deshalb nicht, weil make selbst den Prozess abbricht, während es die .d-Dateien mit den nötigen Headers für eine c-Datei erstellt.
    Ich werde bei nächster Gelegenheit genauere Details nachliefern.

    Make generiert normalerweise keine .d Dateien selber, sondern benoetigt Regeln um extra Programme aufzurufen, die die dann generieren, z.B. gcc.

    Wenn natuerlich in diesen Regeln die Ausgabe umleitest bzw. @ verwendest, siehst du auch keine Fehlermeldung.

  • Hier die Ausgaben, die ich bekomme, wenn eine Header-Datei nicht gefunden wird:

    Code
    ...
    make[3]: Leaving directory `/ats/working/kakao/src/lib/appframework'
    make[2]: *** [../src/lib/appframework/libappframework.a] Fehler 2
    ...

    Mit make -d sieht das dann so aus:

    Vielleicht stimmt meine Vermutung nicht, dass der Fehler bei der Erstellung der .d-Dateien erfolgt, weiß nicht. Auf die Idee bin ich gekommen, weil ich beim ersten Auftreten dieses Problems erst durch Betrachten einer .d-Datei auf die Idee gekommen bin, dass falsche Header-Pfade schuld sein könnten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!