温馨提示×

qt怎么动态加载dll库

qt
小亿
153
2023-11-30 19:32:09
栏目: 编程语言

在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文件,如果是在其他平台,需要根据平台的特定要求进行相应的更改。

0