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

标签 visual-studio-2013 linker option

我需要将库从一个项目链接到另一个项目,看起来有 2 种方法,您能说出在一个设置中使用“真”而在另一种(相同)设置中使用“假”有什么区别以及后果是什么?:

enter image description here

还有一个:
enter image description here

有什么区别,我需要将两个设置都设置为"is"还是只需要一个,如果需要,是哪一个?

最佳答案

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

  • 链接库依赖项设置为是:如果解决方案设置为当前项目依赖另一个产生 .lib 的项目。文件,然后该文件将自动链接。
  • 使用设置为 Yes 的库依赖项输入:当启用增量链接时,主要用于调试版本。通常,如果 .lib由另一个项目产生的变化,而当前项目依赖于它,链接器不能再增量链接当前项目(它很难知道.lib究竟是如何变化的)。如果将此选项设置为 Yes,则链接器不使用 .lib为其他项目生成的文件,而不是个人 .obj图书管理员用来生成该文件的文件 .lib (好像 .lib 不存在,并且来自其他项目的每个目标文件都单独提供给链接器,与来自当前项目的 .obj 文件一起)。这使它能够继续增量链接。

  • 据我所知,仅当链接库依赖项和启用增量链接也都设置为是时,使用库依赖项输入才有意义,并且当前项目依赖于另一个生成 .lib 的项目。在开发过程中经常更改的文件。

    附加信息 here和引用文档 here .

    根据 OP 的评论更新:

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

    例如,如果您将 Linker - General 下的设置为 No 并添加一个新的引用项目,那么对于该项目,Project Reference Properties 下的设置将默认为 False。但是,之前添加的引用项目的设置会保留其各自的设置。

    我希望 Project Reference Properties 下的单个设置会覆盖 Linker - General 中的默认设置,但我还没有实际测试过这一点。

    关于visual-studio-2013 - Visual Studio 中的链接库,为什么有两种不同的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28233673/

    相关文章:

    ruby - 单击下拉菜单项 - selenium ruby

    c# - 我可以使用 VS 2013 的 Express 版本开发商业桌面应用程序吗?

    javascript - 如何禁用 Visual Studio 未处理的异常

    链接描述文件 : Mark a section as occupying space in two memory segments

    c++ - 根据需要组装一个函数并快速计算

    scala - Scala是否具有将Seq [Option [T]]转换为Seq [T]的API方法?

    c++ - 是否可以编写 C++ 模板来检查构造函数的存在?

    visual-studio - Visual Studio 2012/2013 慢 "List Members"智能感知

    ios - 存档时链接器命令失败

    php - 当我们在PHP中选择ID时自动显示价格