首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Makefile忽略分段故障

Makefile忽略分段故障
EN

Stack Overflow用户
提问于 2014-10-02 19:26:19
回答 1查看 1.2K关注 0票数 2

我试图使用GNU自动使用.mmpz将一组.ogg文件转换为lmms文件。目前,lmms中有一个错误,它在生成输出文件后会导致它发生分段错误,从而导致make产生错误。在规则之前添加一个-会迫使make忽略错误并阻止它删除输出文件,但是仍然会产生错误消息。我试过以下几种方法:

代码语言:javascript
复制
-@lmms -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg
-@lmms -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg 2> /dev/null
-@lmms -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg || true

所有这些都会产生一些类似于

代码语言:javascript
复制
/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)

考虑到分段错误是预期的,并且并不表示生成输出文件失败,是否有方法在错误修复之前隐藏此错误?make -i似乎仍然输出错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-03 02:30:38

代码语言:javascript
复制
define EXPECTED_FAIL
if ! { $1 ; } 2>$@.temp; then \
    echo EXPECTED FAILURE: ; cat $@.temp; \
fi
endef

<target>: <prerequisites>
    $(call EXPECTED_FAIL, lmms -r $(MPPZDIR)/$*.mmpz -f ogg -o $(OGGDIR)/$*.ogg )
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26168138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档