
¿Cuál es una forma inteligente de decirle a dos compiladores que busquen sus #include
encabezados?
Al ejecutarse en un sistema Linux estándar 86x64, mi compilador estándar es gcc
(actualmente v9.3). Ahora me gustaría compilar algunas cosas tcc
e instalarlas en un directorio de usuarios local.
¿Cómo podría saber tcc
dónde buscar el #include
camino? Espero que sea en
/home/user/lib/tcc/v0.9/include
o/home/user/lib/tcc/v0.9/lib/tcc/include
Respuesta1
¿Cómo podría decirle a tcc dónde buscar el
#include
camino?
Utilice la -I
opción, igual que con gcc o clang:
De 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).
No creo que tcc haga ninguna distinción entre los formularios <...>
e "..."
include.
Además, como se indica en man tcc
, puede utilizar tcc -vv
para mostrarle las rutas predeterminadas. En mi sistema, esto muestra:
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