gpt4 book ai didi

SCONS运行目标

转载 作者:行者123 更新时间:2023-12-04 03:16:37 25 4
gpt4 key购买 nike

我一直在寻找,而且一直在寻找,但我找不到我的问题的答案。
今晚我才刚刚开始学习scons,它看起来很棒!我有点困惑。

为了易于开发,我经常喜欢用我的make文件构建目标,然后运行它,以便可以一次击键测试更改。在make文件中,这非常简单:

run: $(exe)
chmod a+x $(exe)
$(exe)

我发现我可以使用子流程来做到这一点,如下所示:

import subprocess import os.path

env = Environment();
result = env.Program(target = "FOO", source = "BAR");
location = os.path.abspath(result[0].name)
subprocess.call([location])

但是此解决方案存在问题。根据我的实验,scons不会等到您的程序完成构建后才开始子进程调用,因此您最终会运行旧的可执行文件,或者在清理后生成一个错误。

最佳答案

我可能对您来说有点晚了,但是我有使用Alias的解决方案。
通过使用以下命令,它将生成并运行该程序:

$ scons run

# Define the different target output
program = env.Program('build/output', Glob('build/test/*.cpp'))

env.Default(program)
env.Alias('run', program, program[0].abspath)

请注意,我们使用abspath,因此它可以跨平台win/linux使用(对于linux,如果您的PATH设置不正确,则需要在程序名称之前添加“./”。

关于SCONS运行目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com