我有以下sconstruct
import glob
import os
for file in glob.glob("*.cpp"):
Program([file])
我在* nix平台上使用它,因此scons会自动生成与源文件同名的同名可执行文件。我只是想知道如何强制它生成exe
或bin
扩展名的可执行文件?谢谢!
答案 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文件,这些文件可能还不存在。