Visual studio 2013 Visual Studio中的链接库,为什么有两种不同的方式?

Visual studio 2013 Visual Studio中的链接库,为什么有两种不同的方式?,visual-studio-2013,linker,option,Visual Studio 2013,Linker,Option,我需要将库从一个项目链接到另一个项目,看起来有两种方式,你能告诉我在一个设置中为“真”和在另一个(相同)设置中为“假”的区别和后果吗 还有一个: 区别是什么?我需要将两个设置都设置为“是”还是仅设置一个?如果需要,则设置哪一个?一行解释可能是第二个选项指定了第一个选项的工作方式 链接库依赖项设置为“是”:如果将解决方案设置为当前项目依赖于另一个生成.lib文件的项目,则该文件将自动链接 当启用增量链接时,将库依赖项输入设置为“是”:主要在调试生成中有用。通常,如果由另一个项目生成的.lib

我需要将库从一个项目链接到另一个项目,看起来有两种方式,你能告诉我在一个设置中为“真”和在另一个(相同)设置中为“假”的区别和后果吗

还有一个:


区别是什么?我需要将两个设置都设置为“是”还是仅设置一个?如果需要,则设置哪一个?

一行解释可能是第二个选项指定了第一个选项的工作方式

  • 链接库依赖项设置为“是”:如果将解决方案设置为当前项目依赖于另一个生成
    .lib
    文件的项目,则该文件将自动链接
  • 当启用增量链接时,将库依赖项输入设置为“是”:主要在调试生成中有用。通常,如果由另一个项目生成的
    .lib
    发生更改,并且当前项目依赖于它,则链接器无法再以增量方式链接当前项目(很难知道
    .lib
    是如何更改的)。如果将此选项设置为“是”,则链接器不会使用为其他项目生成的
    .lib
    文件,而是使用图书管理员用于生成该
    .lib
    文件的单个
    .obj
    文件(好像
    .lib
    不存在,其他项目中的每个对象文件与当前项目中的
    .obj
    文件一起分别提供给链接器)。这使链接器能够以增量方式继续链接
据我所知,仅当链接库依赖项和启用增量链接都设置为“是”时,使用库依赖项输入才有意义,并且当前项目依赖于另一个项目,该项目生成一个
.lib
文件,该文件在开发过程中经常更改

其他信息和参考文件


根据OP的评论进行更新:

据我所知,Project Reference Properties下的属性条目分别为每个引用的项目指定了设置(是否使用该特定项目中的
.lib
),而Linker-General下的属性条目是引用项目的默认设置

例如,如果将“链接器-常规”下的设置设置为“否”,并添加新的引用项目,则对于该项目,“项目引用属性”下的设置将默认为“False”。但是,之前添加的引用项目的设置将保留其各自的设置


我希望项目引用属性下的单独设置会覆盖Linker-General的默认设置,但我还没有实际测试这一点。

对不起,bogdan,但我的问题不是:“使用库依赖项”和“链接库依赖项”之间的区别,我问的是为什么“链接库依赖项”可以在两个不同的地方设置。谢谢!:-)你在第二个屏幕截图中选择了两个红色的设置,而在第一个屏幕截图中几乎选择了另一个-这让我误入歧途。请查看更新后的答案。谢谢,我现在正在试验,而且它看起来如果引用的项目不在解决方案中,则需要使用“链接器常规”设置,但在这种情况下,“链接器常规”下的“链接库依赖项”对某些项目没有影响reason@codekiddy据我所知,,项目之间的依赖关系仅在一个解决方案中起作用。无法使用“添加新引用”从解决方案外部添加项目。。。其中。@codekiddy如果您的项目依赖于在当前解决方案之外生成的
.lib
,则您需要使用“链接器-常规”下的附加库目录或“链接器-输入”下的附加依赖项(可能两者都有,具体取决于设置方式),就像您需要链接到的任何第三方库一样。在这种情况下,我们讨论的两种选择都没有任何效果。