
Qual é uma maneira inteligente de dizer a dois compiladores para procurarem seus #include
cabeçalhos?
Executando em um sistema Linux 86x64 padrão, meu compilador padrão é gcc
(atualmente v9.3). Agora eu gostaria de compilar algumas coisas tcc
e instalá-las em um diretório de usuários local.
Como eu poderia saber tcc
onde procurar o #include
caminho? Espero que seja em
/home/user/lib/tcc/v0.9/include
ou/home/user/lib/tcc/v0.9/lib/tcc/include
Responder1
Como eu poderia dizer ao tcc onde procurar o
#include
caminho?
Use a -I
opção, assim como com gcc ou 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).
Não acredito que tcc faça qualquer distinção entre os formulários <...>
e "..."
include.
Além disso, conforme observado em man tcc
, você pode usar tcc -vv
para mostrar os caminhos padrão. No meu sistema, isso mostra:
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