scons中的許多內置生成器都有$ * COMSTR變量,這些變量用于更改其關聯(lián)的生成器的默認輸出。我們可以使用$ * COMSTR變量來使我們的構建過程更清晰易懂。我想為“命令”構建器設置一個$ * COMSTR變量。target = 'mydb.db3'populatesql = 'populate.sql'sources = [populatesql]command = '@sqlite3 $TARGET < ' + populatesqlbuilt_database = env.Command(target, sources, command)我發(fā)現(xiàn)我可以在命令前加上'@'字符來抑制輸出,但是我一直無法發(fā)現(xiàn)如何在Command Builder中使用$ * COMSTR。我在這里錯過了一個把戲嗎?
1 回答

一只甜甜圈
TA貢獻1836條經驗 獲得超5個贊
您不要將命令字符串與構建器關聯(lián)。命令字符串與一個Action對象相關聯(lián)。
如果您想要命令字符串,只需編寫如下內容:
built_database = env.Command(target, sources,
Action('mySqlite3', 'Generating $TARGET with sqlite3'))
或者,如果您想對其進行微調
env['SQLITE3COMSTR'] = 'Generating $TARGET from $SOURCES with sqlite3'
...
built_database = env.Command(target, sources, Action('mySqlite3', '$SQLITE3COMSTR'))
添加回答
舉報
0/150
提交
取消