
Wie kann man zwei Compilern auf intelligente Weise mitteilen, dass sie nach ihren #include
Headern suchen sollen?
Auf einem Standard-Linux-System mit 86 x 64 läuft mein Standard-Compiler gcc
(aktuell v9.3). Jetzt möchte ich einige Dinge damit kompilieren tcc
und es in einem lokalen Benutzerverzeichnis installieren.
Wie kann ich herausfinden, tcc
wo ich nach dem Pfad suchen soll #include
? Ich vermute, er befindet sich bei
/home/user/lib/tcc/v0.9/include
oder/home/user/lib/tcc/v0.9/lib/tcc/include
Antwort1
Wie kann ich TCC mitteilen, wo es nach dem Pfad suchen soll
#include
?
Verwenden Sie die -I
Option, genau wie bei gcc oder clang:
Aus man tcc
:
-Idir Specify an additional include path. Include paths are searched in the order they are specified. System include paths are always searched after. The default system include paths are: /usr/local/include, /usr/include and PREFIX/lib/tcc/include. (PREFIX is usually /usr or /usr/local).
<...>
Ich glaube nicht, dass TCC zwischen den Formen „ und „ Include “ unterscheidet "..."
.
Wie in erwähnt man tcc
, können Sie auch verwenden, tcc -vv
um die Standardpfade anzuzeigen. Auf meinem System wird Folgendes angezeigt:
tcc version 0.9.27 (x86_64 Linux)
install: /usr/lib/x86_64-linux-gnu/tcc
include:
/usr/lib/x86_64-linux-gnu/tcc/include
/usr/local/include/x86_64-linux-gnu
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
libraries:
/usr/lib/x86_64-linux-gnu
/usr/lib
/lib/x86_64-linux-gnu
/lib
/usr/local/lib/x86_64-linux-gnu
/usr/local/lib
libtcc1:
/usr/lib/x86_64-linux-gnu/tcc/libtcc1.a
crt:
/usr/lib/x86_64-linux-gnu
elfinterp:
/lib64/ld-linux-x86-64.so.2