2014-10-05 58 views
0

在Linux上運行,其中默認使用SCons彙編爲 「是」,這會產生一個錯誤:如何使用Scons創建nasm文件?

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

如果你想建立靜態庫,您必須將「AR」工具添加到您的環境,以及:

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

作爲替代方案,增加了「NASM」工具樣之後,所有的默認值(其包括標準的/氣體彙編器)應太:

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

,因爲根據需要,這將重新定義「$ AS」環境變量爲「NASM」。

+0

+1。我不知道'tools'變量是依賴於順序的。 – 2014-10-05 23:15:15

+0

(環境)變量的所有賦值都依賴於順序,它們只是必須的。 ;) – dirkbaechle 2014-10-06 10:46:18

+0

對。但我的意思是說,我不知道列表中的排序是重要的。 – 2014-10-06 11:54:13