运行时的库依赖项

Library dependencies at run-time

本文关键字:依赖 运行时      更新时间:2023-10-16

在我们的项目中,我们有一个基于Qt的动态库,其中包含许多针对不同领域的辅助函数:sql,network,gui,xml处理等。在构建我们的库时,它应该与其他几个标准库链接,如QtCore,QtGui,QtSql等。

我想构建一个简单的应用程序,它使用我们库中的几个函数。我在Windows上使用MinGW构建我的应用程序。

我不明白为什么我的应用程序在运行时需要我们的库链接的所有库。我的意思是我的应用程序不使用任何sql的东西,但仍然需要QtSql。

假设我只需要使用一个函数进行 xml 处理。我想要这个配置:我的应用程序 + 我们的库 + QtXml。可能吗?我不想发布许多我不使用的库。

只要你链接到QtSQL,无论你是否使用它,库都会被加载,因为你的lib中的一个函数依赖于它。如果您只想加载某些库,则可以拆分自己的库,也可以使用Qt库的dlopen和朋友。