2014-10-05 3 views
0

Запуск на Linux, где по умолчанию Scons ассемблера является «как», это приводит к ошибке:Как создать nasm-файлы со Scons?

env = Environment(tools=['nasm', 'default']) 
env.StaticLibrary('module', 'src.asm') 

во время компиляции, это называется:

as -o test.o test.asm 

В качестве альтернативы, если я удалю «по умолчанию» из инструментов:

env = Environment(tools=['nasm']) 

Python бросает:

AttributeError: 'SConsEnvironment' object has no attribute 'StaticLibrary': 

Я хочу построить статическую библиотеку, используя nasm как ассемблер.

ответ

1

Если вы хотите построить статические библиотеки, вы должны добавить «ар» Инструмент для вашей окружающей среды, а также:

env = Environment(tools=['ar', 'nasm']) 

В качестве альтернативы, добавив «NASM» Инструмент после загрузки всех по умолчанию (который включает в себя стандарт как газ/ассемблере) должен работать тоже:

env = Environment(tools=['default', 'nasm']) 

, потому что это будет переопределить «$ AS» окр переменной «NASM» по мере необходимости.

+0

+1. Я не знал, что переменная 'tools' зависела от порядка. –

+0

Все назначения переменных (Environment) зависят от порядка, они просто должны быть. ;) – dirkbaechle

+0

Право. Но я хотел сказать, что я не знал, что порядок в списке имеет значение. –

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