У вас есть два варианта:
- Создать статическую библиотеку. При этом весь код в библиотеке будет экспортирован и виден всем, кто когда-либо ссылается на эту библиотеку.
- Создайте DLL: здесь вы можете определить, какие классы и методы вы хотите экспортировать, и использовать их.
Допустим, у вас есть класс с именем classA, который определен в classA.h и реализован в classA.cpp, и вы хотите использовать этот же класс из двух разных приложений (приложение B и приложение C).
Используя метод 1, вы должны создать статическую библиотеку, перейдя в file-> new win32 project и в появившемся окне выберите настройки приложения и сделайте его «Статической библиотекой». Затем в эту статическую библиотеку вы добавляете ваши classA.h и classA.cpp.
Чтобы использовать эту статическую библиотеку в приложении B или C, перейдите по ссылкам и добавьте ссылку на проект статической библиотеки, который вы только что создали. затем включите classA.h в свое приложение (не забудьте указать путь к дополнительным каталогам включения), и все готово.
Подход очень похож и на DLL, разница здесь в том, что вы можете выбрать, какие части вашего кода в DLL экспортируются (то есть видимы для внешних абонентов).
С общей точки зрения:
При использовании статической библиотеки ваш код будет скомпилирован в оба приложения.
При использовании подхода DLL будет только одна копия общего кода (в DLL, которая будет отдельным файлом), и она будет загружаться по мере необходимости.