/ Headerkollisionen beim Cross-Compiling vermeiden - Linux, Makefile, Mingw, Cross-Compiling

Vermeidung von Header-Kollisionen beim Cross-Compiling - Linux, Makefile, Mingw, Cross-Compiling

Ich habe ein Linux-Projekt, das ich zu Fenstern portieren möchte. Unter Linux habe ich mein Makefile zum Ausführen eingerichtet x86_64-w64-mingw32-g++ wenn ich anrufe make ARCH=win

Das Problem ist, dass einige Header, die ich brauche (tcl.h und Freunde), darunter liegen "/usr/include" und wenn ich dieses Verzeichnis mit der -I Flag Ich bekomme eine Header-Kollision für Header wie stdlib.h die offensichtlich für Windows unterschiedlich sind.

Gibt es eine Möglichkeit, die erforderlichen Tcl-Header an einen anderen Ort zu kopieren?

Antworten:

0 für die Antwort № 1

Es gibt eine Reihenfolge, in der der Compiler nach Header-Dateien sucht. Aber nein, Sie können nicht den Speicherort der Header-Datei auswählen.

Eine Lösung, die Sie mit diesem Problem versuchen können, ist die Verwendung -I/usr und patch dein Projekt mit dem sed Dienstprogramm, um die erforderlichen Header wie konvertieren <tcl.h> zu <include/tcl.h>. Darüber hinaus können Sie den Präprozessor verwenden, um das Patchen bei jedem Projekt zu vermeiden.