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 № 1Es 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.