Qt 根据平台排除 subdir 项目

Qt exclude subdir project depending on the platform

我的app.pro有这种情况:

TEMPLATE = subdirs

SUBDIRS += A\
           B\
           C

B.depends = A
C.depends = A

我想根据平台从构建中排除项目 C。 我已尝试执行以下操作,但这不起作用(始终包含项目 C):

TEMPLATE = subdirs

SUBDIRS += A\
           B

android {
SUBDIRS += C
C.depends = A
}

B.depends = A

有没有可能做这样的事情?谢谢

您为 non-Android 平台排除子目录项目 C 的方法看起来是正确的。

如果您查看 qmake 并进行日志输出,您会发现 C 未构建。我想您可能会感到困惑,因为 Qt Creator 仍然在项目树中为您显示 C 甚至被排除在外。

您可以添加 message("inside android scope") 以在 qmake 处理 android pro 文件范围时打印日志消息。

android {
    message("inside android scope")
    SUBDIRS += C
    C.depends = A
}