gpt4 book ai didi

qt - 利用 Qt 依赖项避免二进制文件重复

转载 作者:行者123 更新时间:2023-12-04 13:08:28 28 4
gpt4 key购买 nike

Qt 利用大量第 3 方库进行图像编码、压缩、加密、音频和视频编解码器支持等。

从历史上看,当我想使用它们时,我总是必须将它们作为附加依赖项包含在内。我一直想知道是否有一种方法可以简单地重用 Qt 已经包含的二进制文件?

最佳答案

这真的取决于图书馆,但一般来说,遗憾的是这是不可能的。

Qt 静态地构建和链接大多数第 3 方库,并且不导出任何符号(参见 libpng 作为示例)。有些甚至只链接到插件而不是 Qt 库(如 sqlite ,它只是插件导入的 pri-file)。找出具体案例的唯一方法是检查不同 Qt 存储库中的 src/3rdparty 子文件夹。

还有一点需要考虑:Qt 经常尝试使用操作系统提供的内容来实现依赖性。 IE。如果 Qt 在主机系统上找到 libpng,它通常会链接到该库,因此代码甚至不再是 Qt 二进制文件的一部分,从而使编译时链接依赖于 Qt 配置,即使符号是为具体库导出的。

所有这一切的唯一真正异常(exception)是静态链接 Qt。在这种情况下,链接器只会在您链接最终应用程序后引入所有这些 3rdparty 依赖项,从而使您可以链接 Qt 使用的库。

关于qt - 利用 Qt 依赖项避免二进制文件重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53251468/

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