Link 图书馆在 Visual Studio,为什么有两种不同的方式?
Link library in Visual Studio, why two different ways?
我需要 link 从一个项目到另一个项目的库,看起来有两种方法,你能说出有什么区别吗?在一个设置中使用 "true" 的结果是什么和 "false" 在另一个(相同的)设置中?:
还有一个:
有什么区别,我需要将两个设置都设置为 "yes" 还是只设置一个,如果是,是哪个?
单行解释可能是第二个选项指定了第一个选项的工作原理。
- Link Library Dependencies设置为Yes:如果设置解决方案使得当前项目有依赖在另一个生成
.lib
文件的项目中,该文件将自动 link 编辑。
- Use Library Dependency Inputs 设置为 Yes:主要用于 Debug 构建,当 Incremental Linking 已启用。通常,如果另一个项目生成的
.lib
发生变化,而当前项目依赖于它,linker就不能再增量link当前项目(很难知道如何正是 .lib
改变了)。如果您将此选项设置为 Yes,则 linker 不会使用为其他项目生成的 .lib
文件,而是使用单独的 [=14] =] 图书馆员用来生成那个 .lib
的文件(就好像 .lib
不存在,并且来自其他项目的每个目标文件都单独提供给 link er ,以及来自当前项目的 .obj
文件)。这使它能够继续 link 增量。
据我所知,使用库依赖输入只有在Link库依赖和Enable Incremental Linking也都设置为Yes,当前项目依赖另一个生成.lib
文件的项目在开发过程中经常改变。
附加信息here and reference docs here。
根据 OP 的评论更新:
据我所知,Project Reference Properties 下的 属性 条目分别为每个引用的项目指定设置(是否使用 .lib
来自该特定项目),而 Linker - General 下的那个是引用项目的默认设置。
例如,如果将 Linker - General 下的设置为 No 并添加一个新的引用项目,然后,对于该项目,项目引用属性 下的设置将默认为 False。但是,之前添加的引用项目的设置保留其各自的设置。
我希望 Project Reference Properties 下的个别设置覆盖 Linker - General 的默认设置,但我还没有实际测试过这个位。
我需要 link 从一个项目到另一个项目的库,看起来有两种方法,你能说出有什么区别吗?在一个设置中使用 "true" 的结果是什么和 "false" 在另一个(相同的)设置中?:
还有一个:
有什么区别,我需要将两个设置都设置为 "yes" 还是只设置一个,如果是,是哪个?
单行解释可能是第二个选项指定了第一个选项的工作原理。
- Link Library Dependencies设置为Yes:如果设置解决方案使得当前项目有依赖在另一个生成
.lib
文件的项目中,该文件将自动 link 编辑。 - Use Library Dependency Inputs 设置为 Yes:主要用于 Debug 构建,当 Incremental Linking 已启用。通常,如果另一个项目生成的
.lib
发生变化,而当前项目依赖于它,linker就不能再增量link当前项目(很难知道如何正是.lib
改变了)。如果您将此选项设置为 Yes,则 linker 不会使用为其他项目生成的.lib
文件,而是使用单独的 [=14] =] 图书馆员用来生成那个.lib
的文件(就好像.lib
不存在,并且来自其他项目的每个目标文件都单独提供给 link er ,以及来自当前项目的.obj
文件)。这使它能够继续 link 增量。
据我所知,使用库依赖输入只有在Link库依赖和Enable Incremental Linking也都设置为Yes,当前项目依赖另一个生成.lib
文件的项目在开发过程中经常改变。
附加信息here and reference docs here。
根据 OP 的评论更新:
据我所知,Project Reference Properties 下的 属性 条目分别为每个引用的项目指定设置(是否使用 .lib
来自该特定项目),而 Linker - General 下的那个是引用项目的默认设置。
例如,如果将 Linker - General 下的设置为 No 并添加一个新的引用项目,然后,对于该项目,项目引用属性 下的设置将默认为 False。但是,之前添加的引用项目的设置保留其各自的设置。
我希望 Project Reference Properties 下的个别设置覆盖 Linker - General 的默认设置,但我还没有实际测试过这个位。