/ / Zabránenie zrážkam záhlavia pri krížovej kompilácii - linux, makefile, mingw, cross-compiling

Zabránenie zrážkam záhlavia pri krížovej kompilácii - linux, makefile, mingw, cross-compiling

Mám linuxový projekt, ktorý chcem portovať do okien. V systéme Linux som nastavil súbor makefile na spustenie x86_64-w64-mingw32-g++ keď zavolám make ARCH=win

Problém je, že niektoré hlavičky, ktoré potrebujem (tcl.h a priatelia) sú umiestnené pod "/usr/include" a ak prejdem tento adresár s -I flag Získajem kolíziu hlavičky pre hlavičky, ako je stdlib.h ktoré sú samozrejme odlišné pre okná.

Existuje nejaká cesta okolo toho okrem kopírovania potrebných hlavičiek tcl na iné miesto?

odpovede:

0 pre odpoveď č. 1

Postupne sa objednáva kompilátor, ktorý bude hľadať hlavičkové súbory. Ale nie, nemôžete vybrať umiestnenie súboru záhlavia.

Riešenie, ktoré môžete vyskúšať s týmto problémom používa -I/usr a opravte svoj projekt pomocou sed nástroj pre konverziu požadovaných hlavičiek, ako je <tcl.h> na <include/tcl.h>, Okrem toho môžete použiť preprocesor, aby ste sa vyhli opravám pri každom projekte.