2015-12-10 79 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