是否可以隐藏
#include <header.h> //from library B
来自使用库A?
的项目我需要保留包含在那里,因为否则我的库A不会编译,但由于该标题来自其他库B,对于主项目不应该是可见的,主程序试图找到header.h和编译失败。
答案 0 :(得分:1)
您可以将其放在#ifdef
内并仅在编译库A时定义符号:
#ifdef INCLUDE_FROM_LIBRARY_B
#include <header.h> //from library B
#endif //INCLUDE_FROM_LIBRARY_B
更新:但可能最好的选择是@ Robinson的建议:不要将它包含在任何头文件中,只在需要时才包含在.cpp文件中。