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