|
1
2
最简单的解决方案是使用环境变量。对于每个主机,您仍然需要手动为每个主机设置通用的系统变量,但需要为每个主机手动构建。 例如,在您的情况下,您可能有: EWBARM_V0504=“C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\bin”
|
|
|
2
0
由于不同版本的工具链可能会有不同的bug和/或特性,默默地回到不同的工具集可能是个坏主意。当我在一个项目上支持多个工具版本时,我通常会通过makefile或环境指定版本号。那你就可以通过了
|
|
|
3
0
SCons的好处在于,您可以使用所有python。因此,您可以使用win32.winreg在注册表中查找,或在路径集中查找全局,任何适合您的方法都可以。当然,您可以使用命令行选项或选项文件来覆盖自动检测。一旦你找到了你选择的工具,你基本上有两种方法让SCON使用它:或者将工具的dir前置到env['env']['PATH'](你可以使用env.PrependEnvPath),或者只使用工具的完整路径作为$CC的值(并适当地设置$LINK,$SHLINK等)。 我通常制作一个TOOL_MYCOMPILER函数,它接受一个env,并将其全部设置为与编译器及其工具链(cpp、linker等)一起使用。它可以使您的SConstruct/SConscript中的内容更干净。 |