Visual Studio项目文件添加了不必要的依赖关系并创建了一个圆圈

问题描述 投票:0回答:1

我有一个用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个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.