Если вы хотите динамически загружать вашу библиотеку во время выполнения, у вас есть 2 способа:
1) использование специфичного для платформы API (для Windows это такие функции, как LoadLibrary (...), GetProcAddress (...));
2) использование класса QLibrary, который просто делает кроссплатформенную оболочку Qt, чтобы делать такие вещи.
Оба этих метода требуют от вас указать имена функций для таких методов, как GetProceAddress () или QLibrary :: resol () ...
Qt также имеет систему плагинов, но она не подходит для созданных на стороне dll ...
Это рабочий пример из моего кода:
<code>
// it is body of "bool func()" function...
typedef DWORD (*SetSystemMemFuncPtr_t)(DWORD dwStorePages);
SetSystemMemFuncPtr_t SetSystemMemoryDivision;</p>
<p>HMODULE hLib = 0;
LPCWSTR libName = L"coredll.dll";
LPCWSTR procName = L"SetSystemMemoryDivision";</p>
<p>if(!(hLib = LoadLibrary(libName)))
{
return false;
}</p>
<p>if(!(SetSystemMemoryDivision = reinterpret_cast(GetProcAddress(hLib, procName))))
{
return false;
}
// do some work...
FreeLibrary(hLib);