2015-12-10 4 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!"); 
} 

Я помнится на 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"

Может кто-нибудь объяснить мне, что это значит и что я могу сделать, чтобы сделать ККА загрузки подключаемых модулей автоматически ?

ответ

1

Ваша ошибка в основном говорит вам, что вы создаете программу с помощью g++5.2.1, но пытаетесь загрузить плагин для чего-то, построенного с помощью g++4. Вам понадобится плагин с g++5.2.1, чтобы он работал. Просто постарайся построить его самостоятельно.

Обратите внимание, что QCA не работает с Qt 5.x, только 4.x!

+0

Привет! Спасибо за помощь! Я пытался создать его из 'https: // github.com/highfidelity/qca', но когда я пытаюсь загрузить его вручную, я получаю ту же ошибку – Dimson

Смежные вопросы