将库添加为依赖项的要求

时间:2012-12-06 02:18:09

标签: c++ dependencies static-libraries header-files

包含头文件和项目依赖性有哪些要求?

这似乎是一个非常基本的问题,但我试图找到问题的本质。 (目的:设计,重构,可能的自动化)。

我见过不同类型的标题:

<c++ standard headers>
<core library headers>
<external library headers>
<local project headers>
  • 如果我查看“include”目录,我该如何识别标题 是一个C ++标准头?

[曾经有一个位置,在选项或某个地方,显示引用的路径。我再也找不到了。它还存在吗?]

  • 如果我包含一个外部库头(库类型项目),我通常必须执行以下所有操作:

    a)让我的项目知道“包含”文件的位置

    b)链接lib

    c)将项目添加为依赖项 溶液

我更愿意做a)和b)通过属性表引用。当然,依赖库的属性表包含依赖项列表,库目录,包含目录。 (我必须完成所有3个步骤吗?)

  • 如果我包含像boost这样的“核心库标题”,我不需要在我的解决方案中包含任何提升项目(我确实有一个boost属性表告诉我的项目在哪里所需文件是) 为什么??????

如何将项目作为依赖项添加到解决方案中?如何判断?

我何时必须将lib添加为依赖项? (或者,换句话说,为什么我不必添加像boost作为依赖的库?)

这些库是否有特殊之处,因此我不必包含它们?

创建库时,我必须做什么,使其不必包含在使用其头文件的每个解决方案中作为依赖项?

1 个答案:

答案 0 :(得分:0)

我的问题的答案 - 所以我没有留下答案 - 很简单:这是一个选择问题!

我会选择将其他项目包含在解决方案中,如果在某些时候它们可以被修改并且对这些项目的更改可能需要重建它们,从而影响我正在进行的项目。

我不会包含任何项目,例如第三方开源库(例如:boost),这些项目不太可能发生变化。

其中一个问题:C ++标准头文件在哪里...有一个环境变量$(INCLUDE),显示包含目录的路径。不幸的是,它没有被设置为系统环境变量......不确定如何通过代码访问它。