我正在嘗試使用GNU Make來使用lmms
自動將一組.mmpz
文件轉換爲.ogg
文件。目前lmms
中存在一個錯誤,導致它在生成輸出文件後發生段錯誤,導致make
吐出錯誤。在規則強制make
之前添加-
以忽略該錯誤並阻止其刪除輸出文件,但仍會產生錯誤消息。我已經試過如下:Makefile忽略段錯誤
[email protected] -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg
[email protected] -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg 2> /dev/null
[email protected] -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg || true
所有產生沿着
/bin/sh: line 1: 3325 Segmentation fault (core dumped) lmms -r resources/mmpz/song.mmpz -f ogg -o content/music/song.ogg 2> /dev/null
Makefile:28: recipe for target 'content/music/song.ogg' failed
make: [content/music/song.ogg] Error 139 (ignored)
考慮到段錯誤預期,並不表示發生故障產生的輸出文件的行的東西,有沒有隱藏這個錯誤的方法,直到bug修復? make -i
也似乎仍然輸出錯誤。
'|| true'與領先的'-'具有相同的作用,可以忽略「lmms」命令的失敗。 – 2014-10-02 20:23:11
@MarkGaleck在這方面,我完全同意你的看法。 '||對於領先的'-'來說'true'是絕對可取的。我的觀點主要是,這兩個都沒有必要,因爲在OP的例子中第三行。 – 2014-10-03 02:20:10
@Eng以及我收回,對不起,不是一個好點 – 2014-10-03 02:32:08