首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt的.pro文件中的LIBS与.pro

Qt的.pro文件中的LIBS与.pro
EN

Stack Overflow用户
提问于 2016-06-16 17:54:15
回答 1查看 6.8K关注 0票数 6

我是in的新手&开始欣赏qmake在.pro文件中提供的框架。我问题的主要目的是详细了解qmake变量"LIBS“和"PRE_TARGETDEPS”与库的静态链接之间的区别。

我的Qt使用了一堆它所依赖的C++静态库。同样,静态库之间也有相互依赖关系。每个库都包含一个.pro文件,以支持qmake方式的构建。当然,这个应用程序还有一个.pro文件。

现在在静态库中,如果libStaticA依赖于libStaticB,那么两者都是C++库。而且它们各自都有一个.pro文件。在libStaticA.pro和+LIBS & -l中提及依赖关系是否足够,如下所示?+LIBS += -L/path_ to _libStaticB/ -llibStaticB

还是只需提及PRE_TARGETDEPS的依赖项,如+PRE_TARGETDEPS += /path_ to _libStaticB/libStaticB.a

或者两者都要提及?+PRE_TARGETDEPS += /path_To_libStaticB/libStaticB.a +LIBS += /path_To_libStaticB/libStaticB.a

LIBS & PRE_TARGETDEPS的相关性是什么?

PS:我的开发机器是osx。谢谢您的解释,以澄清我对此的理解。

EN

回答 1

Stack Overflow用户

发布于 2016-06-17 11:54:34

LIBS

指定要链接到项目的库列表。如果使用Unix -l (库)和-L (库路径)标志,qmake将正确处理Windows上的库(即将库的完整路径传递给链接器)。要找到-l库所在的目录,qmake必须存在库。

PRE_TARGETDEPS

列出目标所依赖的库。有些后端(如Visual和Xcode项目文件的生成器)不支持此变量。通常,这些构建工具在内部支持这个变量,并且它对于显式列出依赖的静态库很有用。

Qt使用PRE_TARGETDEPS变量来存储静态链接库的依赖关系。它迫使您的库在每次构建应用程序时都要重新链接。

如果未指定此变量并更新和重新构建库,则程序仍将使用旧库。

对于您的问题,如果您使用静态库,则应该(几乎)始终同时使用LIBPRE_TARGETDEPS

报价:Qmake变量参考

同样有趣的是:向Qt项目添加库

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37866187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档