我知道,使用#include <file>
時,編譯器將在定義的系統目錄中搜索file
。我如何查看這些目錄?如何查看#包含<>目錄
我問,因爲我添加了一堆頭文件到/ usr/local/include的目錄,當我#include <file>
編譯器仍然說error: unknown type name ‘TPM_TAG’
。我懷疑/ usr/local/include不在編譯器的目錄列表中進行搜索。
謝謝!
我知道,使用#include <file>
時,編譯器將在定義的系統目錄中搜索file
。我如何查看這些目錄?如何查看#包含<>目錄
我問,因爲我添加了一堆頭文件到/ usr/local/include的目錄,當我#include <file>
編譯器仍然說error: unknown type name ‘TPM_TAG’
。我懷疑/ usr/local/include不在編譯器的目錄列表中進行搜索。
謝謝!
這取決於您是否使用標準標頭或本地用戶定義標頭。也許嘗試使用#include「文件」,並使頭文件本地,而不是看看是否可行?
gcc -I. yourfile.c
-I
介紹include files
路徑,所以,如果你有一些包含文件在子目錄如排序/列表/等等,你應該表現爲shuch:
gcc -I. -I./list -I./sort myfile.c
注: 請考慮使用""
作爲頭文件,並使用<>
作爲系統頭文件。例如:
#include <iostream>
#include "myheader.h"
他不是問如何包含某個文件,而是如何查看編譯器在使用'#include
您可以根據編譯器不同的方式搜索,用gcc例如,它可以檢查編譯器在哪裏查找文件使用
gcc -print-search-dirs
,或者您可以通過選項gcc -H
編譯C文件,例如與gcc -H -c myfile.c
如果找不到文件,則會發生致命錯誤,因此不是問題 – aaronman
您可以使用'-I'標誌來傳遞包含目錄。 – devnull
他可能仍然在/ usr/include中包含頭文件的實例,而在/ usr/local/include中包含更新的版本。 –