如何强制scons生成.bin扩展名的二进制文件?

时间:2014-11-09 22:13:31

标签: python scons

我有以下sconstruct

import glob
import os
for file in glob.glob("*.cpp"):
    Program([file])

我在* nix平台上使用它,因此scons会自动生成与源文件同名的同名可执行文件。我只是想知道如何强制它生成exebin扩展名的可执行文件?谢谢!

1 个答案:

答案 0 :(得分:2)

附加到每个创建的程序的扩展名存储在环境变量" PROGSUFFIX"中。您可以覆盖""的默认设置。在Posix系统下:

env = Environment()
env['PROGSUFFIX'] = '.bin'    # or env.Replace(PROGSUFFIX='.bin')
for file in Glob('*.cpp'):
    env.Program([file])

注意,我不是在这里使用Python glob.glob(),而是使用SCons版本的Glob()。后者的优势在于它也会找到生成的CPP文件,这些文件可能还不存在。