【发布时间】:2012-12-20 19:03:44
【问题描述】:
如果我正在创建一个带有如下头文件的静态库:
// Myfile.h
#include "SomeHeaderFile.h" // External library
Class MyClass
{
// My code
};
在我自己的项目中,我可以告诉编译器(在我的例子中是 Visual Studio)在哪里寻找 SomeHeaderFile.h。但是,我不希望我的用户关心这一点 - 他们应该能够包含我的标头,而无需通知 他们的 编译器 SomeHeaderFile.h 的位置。
这种情况一般是怎么处理的?
【问题讨论】:
-
当用户使用你的库时,你有它在某个地方吗??
-
@g-makulik 不,我正在使用的外部库是仅标头库。我希望将外部库的所有声明/定义完全合并到我自己的库中,以便从用户的角度来看没有依赖性
-
您可以将该标题的内容粘贴到您的文件中。
-
嗯 ...,如果它只是标题,那么您的客户还需要找到它以及您的头文件,如果它是类型,则需要查看您界面中任何地方引用的类。
-
转发声明你在头文件中使用的外部库的结构/类,并在你的源代码中包含头文件。
标签: c++ dependencies static-libraries header-files