我正在使用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?

关于compilation - 如何在Windows上的SCons中导出具有备用扩展名的程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28370686/

10-11 21:58