Dependencies Waf中不同环境之间的依赖关系?

Dependencies Waf中不同环境之间的依赖关系?,dependencies,waf,Dependencies,Waf,我正在尝试使用Waf+MSVC构建两个项目: top = '.' out = 'build' def configure(conf): conf.setenv('x86') conf.env['MSVC_TARGETS'] = 'x86' conf.load('compiler_cxx') conf.setenv('x64') conf.env['MSVC_TARGETS'] = 'x86_amd64' conf.load('compiler_

我正在尝试使用Waf+MSVC构建两个项目:

top = '.'
out = 'build'

def configure(conf):
    conf.setenv('x86')
    conf.env['MSVC_TARGETS'] = 'x86'
    conf.load('compiler_cxx')

    conf.setenv('x64')
    conf.env['MSVC_TARGETS'] = 'x86_amd64'
    conf.load('compiler_cxx')

def options(opt):
    opt.load('compiler_cxx')

def build(ctx):
    ctx.env = ctx.all_envs['x86']
    ctx.program(source='x86.cpp', target='x86', name='x86')

    ctx.env = ctx.all_envs['x64']
    ctx.program(source='x64.cpp', target='x64', name='x64')
如您所见,我使用不同的环境构建32位和64位项目。我的问题是:如何设置“x64”和“x86”项目之间的依赖关系?我需要在“x64”完成后构建“x86”项目

我刚刚发现,设置手动依赖项的唯一方法是add_manual_dependency方法,但似乎您只能在单个环境中使用它。知道如何实现“use=['xxx']”方法也会很棒,该方法对静态库非常有用,但对我来说不是这样。是否有可能以这种方式自动建立依赖关系?例如:

def build(ctx):
    ctx.env = ctx.all_envs['x86']
    ctx.program(source='x86.cpp', target='x86', name='x86', use='x64_from_x64_environment')

    ctx.env = ctx.all_envs['x64']
    ctx.program(source='x64.cpp', target='x64', name='x64')

我真的很感激任何帮助!:)

我想你必须在第一个目标之后加上这个

ctx.add_group()