Qtを使ってDLLライブラリを動的にロードの方法
QtではQLibraryクラスを使ってDLLを動的にロードできます。以下に例を示します。
#include <QLibrary>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 动态加载DLL库
QLibrary myLib("mylibrary.dll"); // 替换为你自己的DLL库文件名
// 检查是否成功加载
if (!myLib.load()) {
qCritical() << "Failed to load DLL library:" << myLib.errorString();
return -1;
}
// 获取并调用DLL库中的函数
typedef int (*MyFunction)(int);
MyFunction myFunction = (MyFunction)myLib.resolve("myFunction"); // 替换为你自己的函数名
if (myFunction) {
int result = myFunction(42); // 调用DLL库中的函数
qDebug() << "Result:" << result;
} else {
qCritical() << "Failed to resolve function.";
return -1;
}
// 卸载DLL库
myLib.unload();
return a.exec();
}
なお、上記はWindows環境の.dllファイルを例としていますが、他のプラットフォームの場合はそのプラットフォームの要件に合わせて変更する必要があります。