【发布时间】:2012-06-24 22:57:18
【问题描述】:
我将详细说明一个常见的假设问题。
问题:
我提供了一个静态库 libX.a 和头文件 a.h 和 b.h。头文件a.h 和b.h 包含库导出的API。 a.h 包括 a1.h 和 b.h 包括 b1.h。但是a1.h 和b1.h 不是库所有者提供的,因为a1.h 和b1.h 包含库私下使用的数据结构,并且所有者不想暴露这些数据结构。
我必须编写一个调用库导出的 API 的应用程序。所以我必须包含a.h 和b.h,其中包含API 的声明。
好的,好的。我编写我的应用程序并包含头文件a.h 和b.h 并调用API。但我会得到一个编译器错误,因为编译器找不到a.h 和b.h 内部包含的a1.h 和b1.h。
问题:
有解决这个问题的方法吗?如果是,请认真寻求解决方案:)
库所有者是否有必要公开他在其库中内部使用的所有私有头文件?
【问题讨论】:
标签: c++ static-libraries header-files