#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と"..."
include形式の間に違いはないと思います。
またはで説明されているように、デフォルトのパスを表示することも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