运行时的库依赖项

时间:2013-10-15 07:14:43

标签: c++ qt dll dependencies

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

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

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

假设我只需要使用一个函数进行xml处理。我想要这个配置:我的app +我们的lib + QtXml。可能吗?我不想运送一些我不使用的库。

1 个答案:

答案 0 :(得分:2)

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