2

Я работаю на объектно-ориентированный Windows, библиотеки API-оболочке, написанных на C++, и у меня есть два проекта, внутри решения:Как использовать классы из другого проекта в том же решении в Visual Studio 2010?

  • Действительного проект библиотеки;
  • Проект «тест», где я пишу код, который использует библиотеку для целей тестирования.

Моя цель состоит в том, чтобы иметь возможность включать и использовать файлы заголовков библиотеки в тестовом проекте, как если бы это был фактический проект, который использует библиотеку.

Я решил проблему включения файлов, добавив «$ (SolutionDir)» в дополнительные включенные каталоги тестового проекта (есть ли более чистый способ?), Но я изо всех сил пытаюсь связать тестовый проект. Я получаю unreferenced внешние ошибки, которые, как я полагаю, потому, что компоновщик не может найти DLL.

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

Есть ли способ, которым я могу просто нажать «Создать решение», а затем запустить исполняемый файл?

ответ

2

В свойствах вашего проекта> Компонент> Ввод, существует множество настроек, которые вы можете указать для компоновщика, например, дополнительные зависимости для ссылки (поместите там .lib, сгенерированный другим вашим проектом), и который пути для поиска указанных библиотек.

+0

Ваше решение отлично поработало, но для этого мне пришлось установить тип конфигурации библиотеки библиотеки в статическую библиотеку, поэтому она не генерирует DLL. Есть ли способ сделать эту работу с динамическими библиотеками? –

+0

Когда вы создаете динамическую библиотеку, она генерирует два файла: .lib и .dll. Файл .lib содержит ссылку на DLL и должен быть статически связан с вашим проектом. Затем DLL будет загружен во время выполнения, поэтому вы просто убедитесь, что ваша программа находит его. Просто поставьте в том же каталоге, что и ваше приложение. –

+0

Я понимаю это сейчас! Спасибо огромное! –

Смежные вопросы