2013-10-15 164 views
0

在我们的项目中,我们有一个基于Qt的动态库,它包含许多用于不同字段的辅助函数:sql,network,gui,xml处理等。在构建lib时,其他几个标准库,如QtCore,QtGui,QtSql等。运行时库依赖关系

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

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

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

回答

2

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

+0

在Windows上,这将是'LoadLibrary'和朋友';-)' – rubenvb