Mac OS X下Scalene命令行正常但Makefile执行报错求助
解决Makefile中执行scalene --version报错的问题
问题原因
虽然scalene --version成功输出了版本信息,但该命令返回了非0的退出码(255)。Make会严格校验每个命令的退出状态码,只要非0就判定任务执行失败,因此抛出Error 255。
解决方案
可以通过以下几种方式处理:
- 忽略命令退出码:在Makefile的命令前添加
-前缀,让Make忽略命令的错误状态:
check-deps: -scalene --version
- 强制返回成功状态:使用shell的
|| true语法,确保命令整体返回0的成功状态:
check-deps: scalene --version || true
- 先校验命令存在性再执行:如果需要确保scalene已安装,可先检查命令是否存在,再执行版本输出(同时处理版本命令的非0退出码):
check-deps: @command -v scalene >/dev/null 2>&1 || { echo >&2 "错误:scalene未安装"; exit 1; } scalene --version || true
内容的提问来源于stack exchange,提问作者offwhitelotus
相关产品推荐
相关产品推荐

