【问题标题】:Visual Studio project file adds unwanted dependency and creates a circleVisual Studio 项目文件添加了不需要的依赖项并创建了一个圆圈
【发布时间】:2020-01-29 20:44:08
【问题描述】:

我有一个用 Visual Studio 2008 编写的项目,它生成以下链接器命令行:

/OUT:"../Debug IH East\CommonDlgs.dll" 
/INCREMENTAL:NO 
/NOLOGO 
/LIBPATH:"../Debug IH East/Lib" 
/DLL 
/MANIFEST 
/MANIFESTFILE:"Debug IH East\CommonDlgs.dll.intermediate.manifest" 
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" 
/DEBUG 
/PDB:"c:\Users\rdrichardson\OneDrive - Rad-Con\CAPS Builds\trunk\Debug IH East\/CommonDlgs.pdb" 
/SUBSYSTEM:WINDOWS 
/DYNAMICBASE:NO 
/IMPLIB:"c:\Users\rdrichardson\OneDrive - Rad-Con\CAPS Builds\trunk\Debug IH East\/Lib/CommonDlgs.lib" 
/MACHINE:X86 
/ERRORREPORT:PROMPT 
CapsLib.lib CJ60Lib.lib "..\debug ih east\lib\capsdata.lib"

我只将 CapsLib.lib 和 CJ60Lib.lib 列为依赖项。 CapsData.lib 没有在我能找到的项目配置中的任何地方列出。因为 CapsData 依赖于 CommonDlgs 项目,所以在这个项目中拥有它会创建一个循环依赖关系。我已将 $(OutDir)/Lib 列为附加库目录,并且 $(OutDir) 解析为 ..\debug ih east\lib。 CapsData 是从哪里来的,我该如何摆脱它?

【问题讨论】:

    标签: visual-studio visual-studio-2008


    【解决方案1】:

    问题似乎是解决方案文件。我注意到不同的配置还在 Debug IH East 文件夹中列出了一个文件作为链接器输入,而在创建此其他配置时,Debug IH East 文件夹不存在。这两种配置的唯一共同点是它们是同一解决方案的一部分。我查看了项目依赖项。我发现解决方案指定 CommonDlgs 项目依赖于 CapsData 项目和 CapsLib 项目,而不是 CJ60Lib 项目。我删除了 CapsData 依赖并添加了 CJ60Lib 依赖,问题就消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      • 1970-01-01
      • 2012-06-19
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多