使用TopLevel或者TopBuildDir
简述
当工作在复杂的基于qmake的有多个子目录的项目时,拥有一对top_srcdir和top_builddir变量是非常方便的,举例来说:
INCLUDEPATH = $$top_srcdir/includeLIBS= -L$$top_builddir/lib -lmylibinclude($$top_srcdir/path/to /config.pri)
qmake提供出开箱即用的变量PWD和OUT_PWD,但这些变量指向正在处理的当前.pro / .pri文件及其构建规范,这意味着它们会在递回子目录时更改为它们。
通过自己定义TOP_SRCDIR和TOP_BUILDDIR来解决此限制的方法,或者在构建之前由脚本生成它们。但所有这些技巧都需要手动步骤,这对于只想在Qt Creator中打开项目并点击“构建”按钮,这对用户来说不好。
Qt4解决方法
.qmake.cache.in 文件
.qmake.cache.in文件,从技术上讲,它是一个.pri文件,该文件会自动包含在项目包含的每个.pro文件中,包括子目录中的文件。 这是定义适用于所有.pro文件的变量和设置的理想的地方,例如:top_srcdir和top_builddir。
本文介绍了在Qt4和Qt5中如何管理和设置top_srcdir与top_builddir变量,以解决复杂项目中多子目录的构建问题。通过使用.qmake.cache.in、QMAKE_SUBSTITUTES和SUBDIRS方法,实现了在Qt Creator中无缝构建项目,无需手动步骤。
订阅专栏 解锁全文
3862

被折叠的 条评论
为什么被折叠?



