在静态库中增加使用会导致app包含boost

时间:2016-06-05 13:08:34

标签: c++ qt boost static-libraries qmake

我正在使用静态链接为qt app构建我的库。我在我的一个C ++内部库中使用boost。我正在为我的内部库使用.pro文件,我在其中定义了boost libs location&提升头文件位置,因为我的库依赖于boost。所有这些都构建良好和到现在为止很棒。

我的qt应用程序链接到我的内部静态库,而后者又使用了boost。问题是,当我尝试从我的内部库中包含一个使用boost的标头时,除非“我在我的应用程序的.pro文件中包含boost”,否则无法构建。在app的pro文件中包含boost依赖使得构建工作一切正常,但我不想这样做,因为应用程序应该担心库的依赖关系,无论是boost还是其他任何东西。 有没有办法避免我的应用程序在不直接使用时担心提升?

我阅读了以下类似问题的链接,但答案对我不起作用 How to link Boost in a dependant static library

任何分享的专业知识都表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:2)

静态库实际上只是目标文件的集合(存档),当您与静态库链接时,它就像链接单独的目标文件一样。

这就是为什么如果在静态库中使用外部第三方库,只要需要自己的静态库,就需要链接到外部第三方库。