如何在非含主程式的A.cpp中含括兩個置放於不同目錄的含括檔
2.要在一個普通不含主程式的A.cpp(在A目錄中內含A.h)文件中,含括兩個不同目錄的
B.h(在B目錄中內含B.cpp)與C.h(在C目錄中內含C.cpp),因為A.cpp會用到B.h與C.h的函
式,故含括進來,然而,當我把B與C目錄包含其下所有檔案放到A目錄時,再把A.cpp加入
以下敘述產生問題:
A.cpp
========================================================================
#include "B/B.h"
#include "C/C.h" //同時含括二者產生衝突,但只含括其一(如:拿掉#include
"C/C.h")則C.h檔函式在編譯時將找不到而B.h過關
…
…
========================================================================
在用Dev C++編譯A.cpp時會發現B.h與C.h中的函式連結錯誤,其"定義"(找不到B.cpp與
C.cpp中的函式本體)未被定義"[Linked Error]undefined reference to …..",而目錄
放置結構如下:
A Directory: A.h , A.cpp , B Directory, C Directory
B Directory: B.h, B.cpp
C Directory: C.h, C.cpp
請問是為什麼呢?
而若我把#include "C/C.h"拿掉會發現編譯後除了產生找不到C.h所有函式的錯誤(表示未
引用C.h,故凡是A.h中用到C.h部份的函式之敘述都會產生undeclared….的錯誤訊息),
但關於B.h中的部份就沒問題了,顯見"不含主程式的A.cpp不能同時含括位於不同目錄的
兩個含括檔B.h及C.h",請問該如何同時含括兩個不同目錄的含括檔到不含主程式的A.cpp
中呢?
--
┌─────◆KKCITY◆─────┐ KK免/費/撥/接 ◤
│ bbs.kkcity.com.tw │▏電話(1):449◤1999 電話(2):4058-6000
└──《From:218.169.158.133 》──┘▏帳號:kkcity 密碼:kkcity
--
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章