我决定将我的应用程序从Qt4迁移到Qt5。使用Qt4时,我将QCA与QCA-OSSL结合使用时没有任何问题,但是现在OSSL插件不想加载。

我已经从Qt5下的git://anongit.kde.org/qca.git编译了QCA,所有插件都没有问题。比起将QCA添加到我的应用程序(我正在使用CMAKE)中,它可以正确编译,但是在运行期间它将不允许AES密码,因为未加载OSSL插件。

我在论坛上进行了搜索,将libqca-ossl.so放入了crypto目录,并将该目录也复制到了我的/ usr / lib / qt / plugins中,并复制到了我的项目和构建目录中,但这没有帮助。

如果有任何帮助或建议,我将不胜感激。

最佳答案

好吧,我明白了,整个问题就在于此...
1)gitake的git://anongit.kde.org/qca.git生成config-qca.h到QCA源目录。
2)在此文件中,有#define QCA_PLUGIN_SUBDIR“qca-qt5”而不是预测的“crypto”

一种可能的解决方案是:
1)删除QCA中的lib dir(如果以前的配置中有一个)
2)运行CMAKE
3)在config-qca.h中将“qca-qt5”更改为“crypto”
4)建立图书馆
5)将库添加到您的项目,然后应该正确加载所有插件

关于c++ - 无法在Qt5应用程序中加载qca-ossl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18765496/

10-11 04:19