Вот ситуация:
У меня есть одно решение VS2005 с двумя проектами: MyDll (DLL), MyDllUnitTest (консоль EXE).
В MyDll у меня есть класс MyClass, который является внутренним для DLL и не должен экспортироваться. Я хочу протестировать его в MyDllUnitTest, поэтому я добавил класс набора тестов под названием MyClassTest, где я создаю экземпляры MyClass и тестирую их.
Мой вопрос: как я могу связать объектный файл MyClass, созданный сборкой MyDll, с MyDllUnitTest EXE? Я не хочу создавать MyClass в MyDllUnitTest и не хочу экспортировать класс.
Я попытался использовать один и тот же Промежуточный каталог для обоих проектов (поэтому объектные файлы находятся в одном каталоге) и использовать функцию ссылок в VS2005 (проект правой кнопкой мыши -> Ссылки -> Добавить новую ссылку) ...), но это не сработало - я все еще получаю ошибку компоновки (LNK2001).
Редактировать: Я не хочу иметь один и тот же исходный файл в двух проектах - учтите, что у меня много MyClass / MyClassTest, что означает, что я должен дублировать каждый MyClass для другого проекта.
Я знаю, что можно использовать один и тот же объектный файл в двух проектах, я видел это раньше, но забыл как.
Редактировать: Я решил поместить файлы в оба проекта, поэтому они компилируются дважды. Оказывается, функция «Ссылка» работает автоматически - но только для статических проектов lib.