خوب این کار خیلی راحت هستش.
یه پروژه dll ایجاد میکنی و فایل هدرت رو میسازی و کدهای توابع هدر رو داخل فایل cpp قرار میدی. فقط باید به یک نکته دقت کنی که قبل از اسم توابع و کلاسها باید از کلمه کلیدی زیر استفاده کنی:
برای MSVC:
__declspec( dllexport )
برای gcc:
__attribute__ ((visibility("default")))
البته اگر بخوای راحتر باشی و مشکل کراس پلتفری نداشته باشی میتونی اون رو به صورت یک define تعریف کنی. مثلا:
#define MY_API __declspec( dllexport )
و دست آخر هم به صورت زیر هدرها رو مینویسی:
class MY_API myclass
{
....
};
خوب حالا اگر کدت رو کامپایل کنی. به اسم پروژت یک dll و یک فایل lib تولید میشه. اونها رو توس مسیر پروژه ای که میخوای ازش استفاده کنی کپیش کن. برای استفاده از dll کافیه هدر فایل اون و کتابخانه lib اون رو توی پروژت اضافه کنی.
در مورد استفاده از فایلهای lib یا باید از setting پروژه استفاده کنی و یا اینکه اونها رو به صورت مستقیم داخل کد واردشون کنی:
برای MSVC:
#pragma comment(lib,"mydll.lib")
کد بالا رو توی فایلهای cpp قرار بده. این فایل Lib بعد از کامپایل برنامت لازم نیستش و لازم نیست که اون همراه فایل exe باشه و تنها فایل dll کافیه.