2015-12-10 44 views
0

我正在编译使用qca的项目。我有2版本的Qt安装4.8.6和5.5。通过4.8.6进行编译。操作系统:Ubuntu 15.10。与-lqcaQCA不加载插件

链接在此代码:

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

我在quiting上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

你的错误基本上告诉你,你的程序是用g++5.2.1构建的,但是正在尝试加载一个用g++4构建的东西的插件。你将需要一个g++5.2.1插件来使它工作。只是尝试自己构建它。

请注意,QCA不支持Qt 5.x,只有4.x!

+0

嗨!感谢帮助! 我试图从'https:// github.com/highfidelity/qca'构建它,但是当我尝试手动加载时,我得到了同样的错误 – Dimson