3

是否可以隐藏一个

#include <header.h>  //from library B

来自使用库 A 的项目?

我需要将包含保留在那里,因为否则我的库 A 将无法编译,但是由于该标头来自其他库 B 对主项目不可见,因此主程序尝试找到该 header.h 并且编译失败.

4

1 回答 1

1

只有在编译库 A 时,您才可以将其放在 an 中#ifdef并定义符号:

#ifdef INCLUDE_FROM_LIBRARY_B
#include <header.h>  //from library B
#endif //INCLUDE_FROM_LIBRARY_B

更新:但可能最好的选择是上面@Robinson 的建议:不要将它包含在任何头文件中,仅在需要时包含在 .cpp 文件中。

于 2012-05-08T11:42:45.150 回答