Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 Qt 主应用程序,它使用 C API 动态加载 DLL。我不能使用 Qt 插件,因为一些 DLL 是纯 C 语言。
现在我希望 DLL 可以使主 Qt 应用程序打开一个窗口,装饰它并添加 DLL 提供的 QWidget。
恐怕如果我只是将它作为 void* 推送并将其添加为 QWidget,则主应用程序将在窗口关闭时尝试释放它,这可能会导致未定义的行为。
主要问题是主应用程序是动态地还是静态地链接到 Qt。如果是动态的,则解决了静态数据共享的问题(因为它将主要驻留在 DLL 中)。
没有更多细节,我只会说“试试看”,看看有什么问题。