Как я могу сослаться на один проект VC ++ из другого в том же проекте? - PullRequest
2 голосов
/ 29 июля 2009

Я новичок в Visual Studio. Нужна ваша помощь со следующим.

Visual Studio 2005, VC ++
1 решение имеет 2 проекта.
Назовем решение «решением»
Проект 1 называется «p1», а проект 2 называется «p2»
. Нужно ли экспортировать функции и классы из 'p1', чтобы я мог использовать их, импортируя в 'p2'?
Что если я просто включу заголовочные файлы, а затем использую функции, вызывая их сразу?

Спасибо, Viren

Ответы [ 2 ]

4 голосов
/ 29 июля 2009

Все, что вам нужно сделать, чтобы использовать эти функции, это изменить зависимости проектов.

Щелкните правой кнопкой мыши p2 (или p1), выберите «Зависимости проекта» Выберите p1 (или p2) и включите то, что вы хотите использовать. Это так просто.

2 голосов
/ 29 июля 2009

Если я правильно помню (некоторое время не использовал C ++), было два разных типа библиотек C ++ - статическая (файл .lib) и динамическая (файл .dll).

В случае статической библиотеки вам пришлось настроить p2 так, чтобы она ссылалась на p1.lib (в свойствах проекта); добавьте p1 к зависимостям p2, чтобы он всегда строился первым; и затем включите файлы .h из p1 при необходимости.

Файл .dll был немного сложнее - я думаю, что .h файлы должны иметь __declspec(dllimport) и __declspec(dllexport). И было еще немного магии. Не уверен, правда. Но это ключевые слова, которые могут помочь вам начать работу.

Обратите внимание, что это ключевое слово для MS и оно не будет работать на других компиляторах.

...