شما از 2 نوع کتابخانه می تونید استفاده کنید:
-
کتابخانه استاتیک .lib یا .a : در این حالت بایستی کتابخانه استاتیک را به linker معرفی کنید .برای معرفی کردنش هم بایستی مسیر کتایخانه و هم نام کتابخانه را به linker معرفی کنید.در ویژوال استدیو به گزینه
project->properties->Configuration properties->Linker->Genral->Additional Library dependency رفته و مسیر کتابخانه خود را وارد نمایید.سپس به گزینه project->properties->Configuration properties->Linker->Input->Additional dependencies رفته و نام کتابخانه خود به فرض MyEngine.lib را وارد نمایید.در این حالت با داشتن header های مربوط به کتابخانه براحتی می تونید از کتابخانه استفاده کنید.
-
کتابخانه دینامیک .dll یا .so:در این حالت شما اگر از dll مربوط یک wrapper lib هم بسازید کاربر می تونه از dll شما همچون مدل استاتیک استفاده کنه بدون نیاز به loadLibrary و اگر هم wrapper lib را نداشته باشید بایستی در ابتدا با تابع loadLibrary کتابخانه مورد نظر را بارگذاری کنید و سپس هر کدام از توابع دلخواه را از طریق api به نام getprocaddress هستش بارگذاری و استفاده نمایید .
typedef int (WINAPI* CREATECONTEXT_)(void);
CREATECONTEXT_ createContext_;
HINSTANCE instance_;
instance_ = LoadLibraryA(fileName);
createContext_ = (CREATECONTEXT_)GetProcAddress(instance_,"createContext");
createContext();
FreeLibrary(instance_);