Makefile:140: recipe for target ‘all‘ failed make: [all] Error 2 Invoking “make -j4 -l4“ failed
当我在Ubuntu20.04中对全局规划器global_planner的参数文件GlobalPlannerConfig.h进行修改后,编译成功,并可正常使用,新增的动态调参功能,但当我将功能包放置到Ubuntu18.04中时编译时,产生了以下报错
·
当我在Ubuntu20.04中对全局规划器global_planner的参数文件GlobalPlannerConfig.h进行修改后,编译成功,并可正常使用,新增的动态调参功能,但当我将功能包放置到Ubuntu18.04中时编译时,产生了以下报错
Makefile:140: recipe for target 'all' failed make: [all] Error 2 Invoking "make -j4 -l4" failed

从上面的日志可以看到其中一个错误如下:
Non-ASCII character '\xe8' in file /home/learningx/qingzhou_ws/src/global_planner/cfg/GlobalPlanner.cfg on line 33, but no encoding declared;
原因是我在GlobalPlannerConfig.h文件中新增动态调参参数时的说明项采用的中文,Python默认的是ASCII编码方式,如果出现中文会需要在代码的第二行或第一行显示的声明编码方式,解决方法如下,在GlobalPlannerConfig.h文件的第二行添加如下指令(第一行是#!/usr/bin/env python):
# -*- coding: utf-8 -*-

保存后,再重新编译即可,
所以说,导致Makefile:140: recipe for target ‘all’ failed make: [all] Error 2 Invoking “make -j4 -l4” failed报错的原因有很多,关键是看上面的日志给出的错误信息,根据该错误信息进行相应的解决,然后该报错自然也就解决了。
更多推荐



所有评论(0)