看板Programming
标 题如何在非含主程式的A.cpp中含括两个置放於不同目录的含括档
发信站KKCITY (Sat Mar 15 18:08:25 2008)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ncu!news.yzu!zoonews.ee.ntu!new
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
--