QCA不会加载插件

时间:2015-12-10 13:16:07

标签: linux qt qt4.8

我要编译使用qca的项目。我有2个版本的Qt安装4.8.6和5.5。通过4.8.6编译。操作系统:Ubuntu 15.10。链接-lqca

关于此代码:

QCA::Initializer init;
if(!QCA::isSupported("sha256")) {
    qFatal("SHA256 not supported!");
}

我退出qFatal。 我安装了libqca2-dev和libqca-plugin-ossl,qcatool2确定了这一点并显示了所有插件。

如果我尝试通过以下方式手动加载:

foreach (QString path, QCA::pluginPaths()) {
        QString fullname = path + "/crypto/libqca-ossl.so";
        QPluginLoader loader(fullname);
        loader.load();
        if (loader.isLoaded())
            break;
        else{
            QString error = loader.errorString();
            qDebug() << error;
        }
    }

我收到了这条消息: "The plugin '/usr/local/Trolltech/Qt-4.8.6/plugins/crypto/libqca-ossl.so' uses incompatible Qt library. Expected build key "x86_64 linux g++-5.2.1 full-config", got "x86_64 linux g++-4 full-config"

有人能解释一下这是什么意思,我该怎样做才能自动制作qca加载插件?

1 个答案:

答案 0 :(得分:1)

您的错误基本上告诉您,您的程序是使用g++5.2.1构建的,但是正在尝试为使用g++4构建的内容加载插件。您需要一个g++5.2.1插件才能使其正常运行。试着自己构建它。

请注意,QCA不适用于Qt 5.x,仅适用于4.x!