Инструментарий Devpartner для покрытия кода, вызывающего ошибки компоновщика
-
05-07-2019 - |
Вопрос
Итак, у меня есть решение Visual Studio 2005, которое содержит проект на C # (тестовый драйвер - создает exe-файл) и 7 проектов на C ++ (библиотеки DLL).
Это решение отлично работает до этого момента.
У меня установлена DevPartner studio 8.2.Я пытаюсь сгенерировать тестовое покрытие для всего решения, что требует от меня использования собственного кода на c ++ во время сборки.когда я включаю эту опцию DevPartner, сборка выдает ошибки компоновщика.
У кого-нибудь есть опыт в этом?
Например:
Error 25 error LNK2001: unresolved external symbol "public: __thiscall IntLong::IntLong(class BufObjBase *,int,int,unsigned char,wchar_t const *,bool)" (??0IntLong@@QAE@PAVBufObjBase@@HHEPB_W_N@Z) X.obj
Решение
Мой коллега догадался об этом.На случай, если кто-нибудь еще столкнется с этой проблемой:
В проекте существует цепочка зависимостей между библиотеками DLL, другими библиотеками DLL и библиотеками.При обычной сборке Visual Studio достаточно умна, чтобы найти нужные библиотеки.Поскольку DevPartner вставляет свои инструменты, это не так.
Убедитесь, что все дополнительные зависимости явно указаны в (свойства проекта, получающего ошибку ссылки) -> Компоновщик -> ввод -> Дополнительные зависимости.