包含头文件和项目依赖项有什么要求?
这似乎是一个非常基本的问题,但我试图找到问题的本质。(目的:设计、重构、可能的自动化)。
我见过不同类型的标题:
<c++ standard headers>
<core library headers>
<external library headers>
<local project headers>
- 如果我查看“包含”目录,我如何识别标头是 C++ 标准标头?
[曾经有一个位置,在选项或某处,显示参考路径。我再也找不到了。还存在吗?】
如果我包含一个外部库头文件(库类型项目),我通常必须执行以下所有操作:
a) 让我的项目了解“包含”文件的位置
b) 链接库
c) 在解决方案中添加项目作为依赖项。
我更喜欢通过属性表引用来做 a) 和 b)。依赖库的属性表当然有依赖列表、库目录、包含目录。(我必须完成所有 3 个步骤吗?)
- 如果我包含像 boost 这样的“核心库头文件”,我不需要在我的解决方案中包含任何 boost 项目(我确实有一个 boost 属性表,它告诉我的项目所需的文件在哪里)。
为什么 ??????
如何判断何时必须将项目作为依赖项添加到解决方案中?
我什么时候必须将 lib 添加为依赖项?(或者,换句话说,为什么我不必添加像 boost 这样的库作为依赖项?)
这些库有什么特别之处,所以我不必包含它们吗?
创建库时我必须做什么,以使其不必包含在使用其头文件的每个解决方案中,作为依赖项?