【发布时间】:2017-11-18 15:50:29
【问题描述】:
我编写了一个 C++ 库(我们称之为 PhysicsLib),它使用 Bullet 库进行一些物理计算。我创建了一个类 PhysicsClass,它在自己的头文件 PhysicsClass.h 中包含了来自 Bullet 的两个头文件,以便访问一些 Bullet 类。
使用此 PhysicsLib 库时,必须包含所使用的类 — 像往常一样 — 但是在使用 PhysicsClass 时会出现问题。当我创建应用程序 PhysicsApplication 并包含 PhysicsClass.h 时,编译器会注意到这个头文件又依赖于 Bullet 的头文件。现在,当我要编译我的应用程序 PhysicsApplication 时,我不仅要指定 PhysicsLib 的包含目录,还要指定 Bullet 的包含目录。
有哪些可用的解决方案? 我是否只转发声明 PhysicsClass 使用的 Bullet 中的每个类? 我从来不需要转发声明来自 3rd 方库的类,这让我质疑我的库 PhysicsLib 的设计。
【问题讨论】:
-
你能贴出
PhysicsClass.h标头吗?
标签: c++ shared-libraries static-libraries