Makefile中Valgrind目标报错‘missing separator’,如何解决?
搞定你的Makefile Valgrind报错问题
嘿,这个missing separator报错我可太熟悉了,咱们一步步拆解问题:
1. 直接触发报错的核心原因
Makefile有个特别严格的规则:每个目标下面的命令行,必须用Tab键开头缩进,绝对不能用空格替代。你写的valgrid目标里,valgrind ./main这一行肯定是用空格缩进的,这就触发了报错——Makefile认不出这是一条合法命令,所以提示缺少分隔符。
2. 顺便修正个小拼写错误
你把目标名写成valgrid了,但咱们要用的工具是valgrind,虽然这个拼写错误没触发当前报错,但以后你想执行make valgrind的时候会找不到目标,建议把目标名改成正确的valgrind。
修正后的Valgrind目标片段
valgrind: # 注意!这里的缩进必须是Tab键,不能是空格 valgrind ./main
额外的实用建议
如果想让Valgrind帮你更精准地检测内存问题,可以加上常用参数,比如强制检查所有内存泄漏类型:
valgrind: valgrind --leak-check=full --show-leak-kinds=all ./main
内容的提问来源于stack exchange,提问作者GraphLearner
相关产品推荐
相关产品推荐

