我有一个包含2个项目的解决方案:
在FunctionLIB中,我使用两个API作为外部硬件,称为SDK1.h和SDK2.h
lib由GUI链接,但GUI仅包含FunctionLIB.h
构建lib时,会找到标题,因为include目录设置正确。但是在编译使用LIB函数的GUI时,我得到了未找到的包含文件。我还必须将include目录添加到GUI目录中。
为什么会这样? LIB发现它很好,但是GUI间接抛出错误,我不明白为什么它首先需要那些包含。
答案 0 :(得分:2)
如果您创建了一个库,则应该有一个(或多个) public 头文件,这些文件包含在需要您的库的代码中。但是,这些公共头文件应尽量不包含您库内部使用的任何外部库。
在您的情况下,为您的库创建两个头文件可能就足够了。一个公共,一个私有,包括公共头文件和外部头文件。然后在您的库中,您只包含私有头文件。