gpt4 book ai didi

c++ - 在应用程序中加载 Qt 库(不同版本)

转载 作者:太空宇宙 更新时间:2023-11-04 13:02:59 25 4
gpt4 key购买 nike

我们的应用程序是在 Qt 5.4 中开发的,它作为 SDK (dylib) 提供,用于与其他应用程序集成。所有依赖库都随 SDK(Qt 5.4.x 二进制文件)一起提供。然而,当客户试图将我们的 SDK 集成到他的应用程序中时,我们遇到了一个问题。该应用程序正在使用具有 Qt 5.3.x 依赖项的组件。我们的 SDK 不适用于该应用程序。该问题是由于平台中的“libqcocoa”是共享的,这导致了崩溃。

应用程序能否加载两个不同的 Qt 二进制文件(带/不带命名空间)?如果是,如何安全地处理? (应用程序在 Mac 中)

我还需要说明一点,使用不同 Qt 版本的组件可以独立更新。通常遵循的最佳实践是什么?请提出建议。

最佳答案

您对 Qt 的使用通常是一个实现细节。通过使用私有(private)框架或静态链接 Qt 来隐藏它。

或者,如果您需要与用户的 Qt 互操作,请添加一个小型开源接口(interface),将相关 Qt API 转发到您的代码。您会惊讶于大多数代码使用的 Qt 是多么少。该界面最多可能只有几千行,您可以机器生成它。

关于c++ - 在应用程序中加载 Qt 库(不同版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43449884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com