Проблемы
Проблема # 1
Я пытаюсь создать модульные тесты для файла dll, который я строю Когда я собираю модульные тесты, я получаю LNK1181 - не могу открыть входной файл .. . \ blah.lib
Issue # 2
Невозможно заставить работать относительные каталоги при добавлении дополнительных каталогов в мой проект модульного теста
Что я сделал
Issue # 1
Я следую инструкциям в разделе «Ссылка на экспортированные функции DLL из тестового проекта», найденном здесь:
https://docs.microsoft.com/en-us/visualstudio/test/how-to-write-unit-tests-for-cpp-dlls?view=vs-2019#projectRef
Когда я добавляю ссылку на проект, который я хочу протестировать и пытаюсь собрать (Шаг 3), я получаю ошибку LNK1181
Issue # 2
Мой абсолютный путь к папкесодержит заголовки, которые мне нужны: C: \ Users \ Adam \ source \ repos \ solutionDir \ dllProjDir
Я пытаюсь использовать это как относительный путь: $ (ProjectDir) .. \ dllProjDir
С выходом $ (ProjectDir) (согласно показанию «Оцененное значение») C: \ Users \ Adam \ source \ repos \ solutionDir \ unitTestProjDir
Итак, мой ожидаемый результат: C: \ Users \ Adam \ source \ repos \ solutionDir \ dllProjDir
Тем не менее, на основе считанного значения "Оцененное значение" мой относительный путькажется, приводит к: C: \ Users \ Adam \ source \ repos \ solutionDir \ unitTestProjDir .. \ dllProjDir
Так что .. \, похоже, не заставляет меня подниматься в каталог
Вопросы
Почему компоновщик пытается открыть файл lib, когда я пытаюсь протестировать проект .dll?
Почему нетмои относительные пути работают? Или они работают, и я не могу доверять показаниям «оценочного значения»
Я попытался переключить dll proj на lib proj и следовал приведенным инструкциям, и это работает.
По какой-то причине мне нужно включить файл .cpp. Если я включаю заголовочный файл, я получаю «LNK2001 unresolved external symbol»
Один за другим яудалил все ссылки, которые я сделал (очистив то, что я добавил в «Свойства конфигурации> Линкер> Ввод> Дополнительные зависимости» и «Свойства конфигурации> Линкер> Общие> Дополнительные каталоги библиотеки» и «Свойства конфигурации> Каталоги VC ++> Включить каталоги» с последнимединственное, что имеет значение (где я поместил заголовок папки моего проекта)
Спасибо за чтение!