C
如何設置編譯器特定的標準標頭檔#include 路徑?
告訴兩個編譯器尋找它們的
#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
我怎麼能告訴 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