Windows 如何在 SCons 中导出具有备用扩展名的程序

How to export a program with an alternate extension in SCons on Windows

我正在使用 SCons 通过 Windows 主机交叉编译嵌入式代码。我的同事是 运行 Ubuntu。我们的 SConscript 文件中有很多行,如下所示:

prog = env.Program("progname.elf", obj, libs)

在 Ubuntu 这工作正常。在 Windows 上失败并出现以下错误:

scons: *** An executable should have exactly one target with the suffix: .exe

到目前为止,我找到的最佳答案是将文件命名为 progname_elf.exe 并在事后重命名,但似乎 SCons 应该能够处理这个问题。

来电

prog = env.Program("progname.elf", obj, libs)

在您的 SConscripts 中应该如下所示:

prog = env.Program("progname", obj, libs)

。然后你可以在 Posix 系统下将变量“$PROGSUFFIX”设置为“.elf”。这将是处理此问题的 SConsish 方式......另请参阅 How to force scons to generate binary file with .bin extension? .