【问题标题】:Qt call custom sub target from top levelQt从顶层调用自定义子目标
【发布时间】:2017-06-20 09:29:25
【问题描述】:

我有一个使用 SUBDIRS 的 Qt 5.8 项目,其中一个子目标有一个类似于此的 custom target

main.pro:

SUBDIRS = subtarget

subtarget.pro:

mytarget.target = .buildfile
mytarget.commands = touch $$mytarget.target
mytarget.depends = mytarget2

QMAKE_EXTRA_TARGETS += mytarget

使用 qmake 从中生成 Makefile 将正确地将我的自定义目标添加到子目标 Makefile 中。但是我想从顶层 Makefile 调用它,这样我就可以从顶层调用“make mytarget”。请注意,此自定义目标不应默认运行,只能显式运行。

【问题讨论】:

    标签: c++ qt qmake


    【解决方案1】:

    诀窍是在顶层项目中定义一个同名的目标,并告诉 qmake 这个目标也应该调用子目标。这可以通过在 main.pro 中添加以下行来完成:

    mytarget.target = .buildfile
    mytarget.CONFIG += recursive
    mytarget.recurse_target = .buildfile
    QMAKE_EXTRA_TARGETS += mytarget
    

    如果您有多个子项目,则此目标必须存在于所有子项目中。您可以为没有此类目标的项目创建虚拟目标,如下所示:

    dummyTarget.target = .buildfile
    QMAKE_EXTRA_TARGETS += dummyTarget
    

    【讨论】:

    • 谢谢,几乎成功了。但是我遇到了一个问题,需要虚拟对象的其他子目标设置了一些 PRE_TARGETDEPS 并且当它找不到时显然虚拟目标错误。
    • 你能显示代码/错误日志吗?我不确定你的意思
    猜你喜欢
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    相关资源
    最近更新 更多