Компилятор статической библиотеки Visual Studio жестко кодирует относительные пути - PullRequest
1 голос
/ 31 марта 2011

Я думаю, что моя проблема в том, что компоновщик статической библиотеки Visual Studio жестко кодирует относительные пути, и это позже вызывает проблемы при связывании этой статической библиотеки из другого каталога.

Вот что я пытаюсь сделать:

У меня есть библиотека dll, назовите ее base.dll. У меня есть приложение, связанное с этим dll: application.exe. Чтобы написать модульные тесты для этого приложения, я компилирую приложение в виде статической библиотеки: application.lib. У меня есть проект тестирования, который компилирует testing.dll, который ссылается на application.lib.

На последнем шаге связывание завершается с LNK1104 (не удается открыть файл), поскольку он использует относительный путь к application.exe, а не test.dll. Ранее Testing.dll успешно связывался с base.dll в процессе.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 31 марта 2011

Хитрость заключается в том, чтобы не создавать ссылки на base.dll при сборке статической библиотеки, а только ссылаться на нее при сборке testing.dll.

0 голосов
/ 31 марта 2011

Попробуйте проверить «Наследовать от родительских или проектных значений по умолчанию» в диалоговом окне «Библиотечные каталоги» для каждого проекта.

У меня были подобные проблемы с моими собственными библиотечными проектами, и там не так много документации поэто.

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