2017-04-17 92 views
1

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

应用程序能否加载两个不同的Qt二进制文件(带/不带名称空间)?如果是的话,这可以安全地照顾? (应用程序在Mac中)

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

回答

0

您对Qt的使用通常是一个实现细节。通过使用私有框架或静态链接Qt来隐藏它。另外,如果您需要与用户的Qt进行互操作,请添加一个小型开放源代码接口,将相关的Qt API转发给您的代码。您会惊讶于大多数Qt代码使用的很少。该界面最多可能会有几千行,并且可以通过机器生成。

相关问题