
두 컴파일러에게 헤더를 찾도록 지시하는 현명한 방법은 무엇입니까 #include
?
표준 Linux 86x64 시스템에서 실행되는 내 표준 컴파일러는 gcc
(현재 v9.3)입니다. 이제 몇 가지를 컴파일 tcc
하여 로컬 사용자 디렉토리에 설치하고 싶습니다 .
tcc
경로 를 찾을 위치를 어떻게 알 수 있습니까 #include
? 나는 그것이있을 것으로 예상한다
/home/user/lib/tcc/v0.9/include
또는/home/user/lib/tcc/v0.9/lib/tcc/include
답변1
tcc에게 경로를 찾을 위치를 어떻게 알릴 수 있나요
#include
?
-I
gcc 또는 clang과 마찬가지로 옵션 을 사용하십시오 .
에서 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).
<...>
나는 tcc가 형식 과 포함 형식을 구별하지 않는다고 생각합니다 "..."
.
또한 에 설명된 대로 를 man tcc
사용하여 tcc -vv
기본 경로를 표시할 수 있습니다. 내 시스템에서는 다음과 같이 표시됩니다.
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