Irgendwie ist dies das erste Mal, dass ich in vielen Jahren der Programmierung auf dieses Problem gestoßen bin, und ich bin mir nicht sicher, welche Möglichkeiten es gibt, es zu lösen.
Ich bin dabei, eine Anwendung auf Linux zu portieren, und es gibt eine Header-Datei in einem der Verzeichnisse, die anscheinend den gleichen Namen wie eine Header-Datei in der Standard-C-Bibliothek hat, und wenn "cstdlib" von einer anderen Datei in diesem Verzeichnis eingeschlossen wird, versucht es, die lokale Datei einzuschließen, anstatt die richtige aus der Standardbibliothek.
Insbesondere heißt die Datei "endian.h", die versucht, von /usr/include/bits/waitstatus.h aus eingebunden zu werden. Anstatt /usr/include/bits/endian.h einzubinden, wird also versucht, ./endian.h einzubinden.
Ist meine einzige Option, die endian.h im Projekt in etwas anderes umzubenennen, oder gibt es eine Möglichkeit, die ich erzwingen kann, den Compiler in das gleiche Verzeichnis wie die Datei zu suchen, die es von zuerst einbezogen wird?
Editar:
Okay, das war nur ein dummer Fehler meinerseits. Mein Makefile war auf -I. gesetzt, also hat es zuerst im aktuellen Verzeichnis gesucht. D'oh.