Файл проекта Visual Studio добавляет нежелательную зависимость и создает круг - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть проект, написанный в 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 и как мне от него избавиться?

1 Ответ

0 голосов
/ 30 сентября 2019

Кажется, проблема в файле решения. Я заметил, что в другой конфигурации также был указан файл в папке Debug IH East в качестве входных данных компоновщика, и папка Debug IH East не существовала при создании этой другой конфигурации. Единственное, что объединяло две конфигурации, было то, что они были частью одного и того же решения. Я посмотрел на зависимости проекта. Я обнаружил, что в решении указано, что проект CommonDlgs зависит от проекта CapsData и проекта CapsLib, но не от проекта CJ60Lib. Я удалил зависимость CapsData и добавил зависимость CJ60Lib, и проблема исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...