Makefile:140: recipe for target ‘all‘ failed make: [all] Error 2 Invoking “make -j4 -l4“ failed

   当我在Ubuntu20.04中对全局规划器global_planner的参数文件GlobalPlannerConfig.h进行修改后,编译成功,并可正常使用,新增的动态调参功能,但当我将功能包放置到Ubuntu18.04中时编译时,产生了以下报错

Makefile:140: recipe for target 'all' failed make:  [all] Error 2 Invoking "make -j4 -l4" failed

Makefile:140: recipe for target ‘all‘ failed make: [all] Error 2 Invoking “make -j4 -l4“ failed_第1张图片

   从上面的日志可以看到其中一个错误如下:

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_第2张图片

   保存后,再重新编译即可,

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


你可能感兴趣的:(Ubuntu和ROS,python,编译,Cmake,ROS,Ubuntu)