想象一下,在兩個不同的目錄中有兩個something.h。您無法寫入這些目錄並且沒有root訪問權限。如何設置衝突頭的優先級C++
你有一些代碼的作用:
#include <something.h>
如何指定使用something.h在一個特定的目錄,而忽略其他?
想象一下,在兩個不同的目錄中有兩個something.h。您無法寫入這些目錄並且沒有root訪問權限。如何設置衝突頭的優先級C++
你有一些代碼的作用:
#include <something.h>
如何指定使用something.h在一個特定的目錄,而忽略其他?
嘗試使用:
#include "../directory/something.h"
注意,GCC查找使用Search Path頭。
您也可以要求GCC在指定的目錄中查找頭文件。使用-iquote dir
,將目錄dir
添加到要搜索頭文件的目錄列表頭部。
通常,有資格搜索什麼被視爲系統的目錄列表包括(在#include中使用尖括號),作爲一組-I
切換到編譯器提供。通常包括目錄在makefile或項目文件中指定。
許多(但不一定是全部)編譯器將履行列出的目錄順序爲include目錄 - 所以你應該能夠在你的makefile改變這種順序來選擇自己的喜好。然而,在一些編譯器中可能會有困難,因爲一些目錄被認爲總是包含在內(例如,默認情況下,gcc假設您包含/usr/include
)。 換句話說,這是非常具體的實現。
如果您使用的不是尖括號,但雙引號,那麼你可以簡單地指定所需的文件一樣,直接#include "dir/file.h"
。
熱潮!增加了20%! – madreblu