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

时间:2015-02-06 16:48:07

标签: compilation compiler-errors cross-compiling scons

我正在使用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应该能够处理这个问题。

1 个答案:

答案 0 :(得分:1)

电话

prog = env.Program("progname.elf", obj, libs)
您的SConscripts中的

应如下所示:

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

。然后你可以设置变量" $ PROGSUFFIX" to" .elf"在Posix系统下。这将是SConsish处理这个问题的方法......另见How to force scons to generate binary file with .bin extension?