【发布时间】:2016-06-05 13:08:33
【问题描述】:
我正在使用静态链接为 qt 应用程序构建我的库。我在我的一个 C++ 内部库中使用 boost。我正在为我的内部库使用 .pro 文件,其中我定义了 boost 库位置和 boost 头文件位置,因为我的库依赖于 boost。到目前为止,所有这些都构建得很好。
我的 qt 应用程序正在链接到我的内部静态库,而后者又使用了 boost。问题是,当我尝试从使用 boost 的内部库中包含一个标头时,除非“我在我的应用程序的 .pro 文件中包含 boost”,否则它无法构建。在应用程序的 pro 文件中包含 boost 依赖项可以使构建工作正常,但我不想这样做,因为应用程序应该担心库的依赖项,无论是 boost 还是其他。 有什么方法可以避免我的应用在不直接使用时担心提升?
我阅读了以下链接,它看起来像一个类似的问题,但答案对我不起作用 How to link Boost in a dependant static library
感谢您分享的任何专业知识。提前致谢。
【问题讨论】:
-
您的应用程序使用了 boost。你很惊讶你需要链接提升。为什么?
-
没有。 MyStaticLibrary1 使用 boost & app 使用 MyStaticLibrary1。这会导致应用程序包含 boost,即使它没有直接使用它。情况就是这样。我正在尝试避免应用程序对 boost 的依赖。
-
如果你的应用使用了一个使用 boost 的库,那么你的应用就使用了 boost。就这么简单。
标签: c++ qt boost static-libraries qmake