2015-02-06 3 views
0

Я использую SCons для кросс-компиляции встроенного кода с использованием хоста Windows. Мои коллеги работают с Ubuntu. У нас есть много строк в наших файлах SConscript, таких как:Как экспортировать программу с альтернативным расширением в SCons на Windows

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

Вызов

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

в вашем SConscripts должен выглядеть следующим образом:

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

. Затем вы можете установить переменную «$ PROGSUFFIX» в «.elf» в системах Posix. Это будет SConsish способ справиться с этим ... см. Также How to force scons to generate binary file with .bin extension?.

+0

SConsish ?? Разве нет что-то похожее на Pythonic для SCons? ;) Как насчет Sconsy? – Brady

+1

Возможно (я не являюсь носителем языка), в какой-то момент мы должны настроить целевую группу имен имен SCons ... или somethin '. :) – dirkbaechle

Смежные вопросы