无法在 Qt5 应用程序中加载 qca-ossl
Cannot load qca-ossl in Qt5 application
我决定将我的应用程序从Qt4迁移到Qt5。对于Qt4,我将QCA与QCA-OSSL一起使用没有任何问题,但现在OSSL插件不想加载。
我已经从 Qt5 下的 git://anongit.kde.org/qca.git 编译了 QCA,没有任何问题。比我将QCA添加到我的应用程序中(我正在使用CMAKE),它编译正确,但在运行期间它不允许AES密码,因为OSSL插件未加载。
我已经搜索了论坛,libqca-ossl.so 放入加密目录,并将此目录复制到我的/usr/lib/qt/plugins 也复制到我的项目和构建目录中,但它没有帮助。
我将不胜感激任何帮助或建议。
我让它工作,整个问题就在这里......
1) git://anongit.kde.org/qca.git 的 CMake 生成 config-qca.h 到 QCA 源目录。
2)在这个文件中 #define QCA_PLUGIN_SUBDIR 有"qca-qt5"而不是预测的"crypto"
一种可能的解决方案是:
1) 删除 QCA 中的库目录(如果有以前配置中的库目录)
2) 运行 CMAKE
3) 在 config-qca.h
中将 "qca-qt5" 更改为 "crypto"4) 构建库
5)将库添加到您的项目中,然后它应该正确
加载所有插件
一个好的解决方案,没有实际修复QCA,是从构建目录:
cmake . -DQCA_PLUGINS_INSTALL_DIR=`qmake -query QT_INSTALL_PLUGINS`/crypto
这将把插件与Qt插件一起安装。如果您不想在那里安装它,您可以在环境变量中添加另一个路径QT_PLUGINS_PATH然后将其安装在那里,仍然添加加密目录。
自 2015 年 12 月 1 日的 QCA 2.1.1 起,在 OSX 上:
从 KDE Anongit 获取 QCA
brew install openssl # fixes apple's openssl deprecation error
export PATH=$PATH:/path/to/qt5/bin/qmake
cmake . -DCMAKE_PREFIX_PATH=/usr/local/opt/openssl #use the new openssl
make install
- std::原子加载和存储都需要吗
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 如何使用tinyxml2从XML加载父实体和子实体
- 如何在C++中使用pybind11加载一个pickle python列表
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 树莓上的 Libtorch 无法加载 pt 文件,但在 ubuntu 上工作
- Python ctypes:不会按预期加载 dll
- 为什么会出现 gettnig 运行时错误:加载类型为"_Bit_type"(stl_bvector.h) 的空指针?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 保存/加载大量短数组到二进制文件
- 使用 SDL2 和SDL_image C++加载图像
- 无法使用加载库卸载注入的 dll (C++)
- 是否有原子加载非原子值的函数?
- 将 bmp 文件加载到 TSpeedButton 中
- QCA-OSSL 插件未加载.显示错误:不支持 HMAC(SHA1)
- 无法在 Qt5 应用程序中加载 qca-ossl