-I dir
Add the directory dir to the list of directories to be searched for
header files. Directories named by -I are searched before the
standard system include directories. If the directory dir is a
standard system include directory, the option is ignored to ensure
that the default search order for system directories and the
special treatment of system headers are not defeated . If dir
begins with "=", then the "=" will be replaced by the sysroot
prefix; see --sysroot and -isysroot.
這時候就該用gcc裡的
-I
參數,例如你的head/xxx.h
位置在/path/to/libs/head/xxx.h
,而飲用時用#include "head/xxx.h"
,用以下參數編譯即可:man gcc
如下:應該是有個設定選項設定了前面省略的路徑前綴。把項目clone下來,用sublime什麼的全域搜尋一下缺少的路徑字符,就知道是在哪裡配置的了。
正常你寫程序,前面的
#include<stdio.h>
這種也不是在目前可見目錄下就放著的。 linux系統有一些預設的環境變數類似C_INCLUDE_PATH
這種,會存放一些系統路徑,這些路徑就是你include的時候會去預設搜尋的頭檔路徑。你是可以繼續往後面加入你自己的路徑的。不知道你的專案是什麼平台的,像Android這種,編譯jni的時候,只要用LOCAL_C_INCLUDES指明頭檔路徑,程式碼裡就可以省去很長的頭檔路徑了。
你也可以搜尋關鍵字linux系統 頭檔搜尋路徑等等學習相關知識。