0

我有一个包含 2 个项目的解决方案:

  • 控制GUI
  • 函数库

在 FunctionLIB 中,我使用两个用于外部硬件的 API,称为 SDK1.h 和 SDK2.h

该库由 GUI 链接,但 GUI 仅包含 FunctionLIB.h

构建库时,由于包含目录设置正确,因此会找到标头。但是在编译使用 LIB 函数的 GUI 时,我发现找不到包含文件。我还必须将包含目录添加到 GUI 目录中。

为什么呢?LIB 发现它很好,但 GUI 间接引发错误,我不明白为什么它首先需要这些包含。

4

1 回答 1

2

如果你创建一个库,你应该有一个(或多个)公共头文件,它们包含在需要你的库的代码中。但是,这些公共头文件应尽量不包含您的库内部使用的任何外部库。

在您的情况下,为您的库创建两个头文件可能就足够了。一个公共的,一个私有的,包括公共头文件和外部头文件。然后在您的库中,您只包含私有头文件。

于 2013-08-29T10:51:35.613 回答