標頭檔案路徑包含問題

2021-08-20 20:30:57 字數 1011 閱讀 8682

標頭檔案包含兩種,系統標頭檔案和自定義標頭檔案,系統標頭檔案不說了,格式統一,自定義標頭檔案在包含的時候要注意路徑,其實是標頭檔案與主檔案的相對位置關係的問題。

ps:另外,linux和windows下也有所區別。

舉4個例子,應該就能看明白了。

一.

這種情況下,在main.c中包含標頭檔案如下:

#include "fish.h" 或

#include "./fish.h" (linux)    or  #include ".\\fish.h" (windows)

二.

這種情況下,在main.c中包含標頭檔案如下:

#include "../fish.h" (linux)    or  #include "..\\fish.h" (windows)

三.

這種情況下,在main.c中包含標頭檔案如下:

#include "../資料夾2/fish.h" (linux)    or  #include "..\\資料夾2\\fish.h" (windows)

四.

這種情況下,在main.c中包含標頭檔案如下:

#include "資料夾3/fish.h" (linux)    or  #include "資料夾3\\fish.h" (windows)

標頭檔案包含問題

今天在寫 時,用到了五六個資料夾,但是在包含標頭檔案的時候不停的在報錯,因此特地重溫了下標頭檔案的包含 標頭檔案包含符號分為兩種 第一種為 先在當前工程儲存目錄下尋找,再去系統存放目錄取尋找,常用於自定義標頭檔案 第二種為 直接在系統目錄下尋找,未找到則返回錯誤,不會在當前目錄下尋找 因此,當我們需...

標頭檔案互相包含問題

當我們有兩個類的標頭檔案互相包含時,如果出現乙個類中有另乙個類的物件時,vs就會報這樣的錯error c4430 缺少型別說明符 假定為 int。test2.h ifndef test2 h define test2 h include include test1.h using namespace...

c 標頭檔案相互包含問題

c 中標頭檔案互相包含經常會出現編譯錯誤.示例 如下 h ifndef a h define a h include b.h includeusing namespace std class a endif a h a.cpp include a.h a a a a int a getvala vo...