在静态库中使用Boost会导致应用程序包含Boost



我正在使用静态链接为qt应用程序构建库。我在我的一个C++内部库中使用boost。我正在使用.pro文件作为我的内部库,在那里我定义了boost-libs的位置&boost头文件的位置,因为我的库依赖于boost。所有这些构建良好&到目前为止都很棒。

我的qt应用程序正在链接到我的内部静态库,该库反过来使用boost。问题是,当我试图包含来自使用boost的内部库的头时,除非"我在应用程序的.pro文件中包含boost",否则无法构建。在应用程序的专业文件中包含boost依赖关系可以使构建工作正常,但我不想这样做,因为应用程序应该担心库的依赖关系,无论是boost还是其他什么。有没有办法避免我的应用程序在不直接使用时担心提升?

我读了下面的链接,它看起来像一个类似的问题,但答案对我不起作用如何在依赖静态库中链接Boost

任何分享的专业知识都将不胜感激。提前谢谢。

静态库实际上只不过是对象文件的集合(存档),当您链接到静态库时,就像链接到单独的对象文件一样。

这就是为什么如果您在静态库中使用外部第三部分库,则需要在需要自己的静态库时与该外部第三部件库链接。

相关内容

最新更新