catkin_make报错Invoking “make cmake_check_build_system“ failed

catkin_make报错Invoking “make cmake_check_build_system” failed

使用环境:Ubuntu 18.04 安装 ROS melodic

问题描述:

提示:在跟着知乎博文在VSCode中配置ROS开发环境,学习VSCode 配置ROS,使用如下命令 创建ros_learner工作空间后

mkdir ~/ros_learning # 创建工作空间
cd ~/ros_learning
mkdir src
cd src
catkin_init_workspace # 初始化工作空间
cd ..
catkin_make -DCMAKE_EXPORT_COMPILE_COMMANDS=1

执行 catkin_make时报错Invoking “make cmake_check_build_system” failed


原因分析:

该类报错的原因有很多 具体报错原因为:
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:91 (message):
catkin_package() PROJECT_NAME is set to ‘Project’, which is not a valid
project name. You must call project() before calling catkin_package().

在这里插入图片描述
出现Cmake错误 PROJECT_NAME被设置为Project,不是有效的项目名

解决方案:

这是我第二次创建ros_learning这个工作区间,前一次由于中途出错就直接删掉了整个工作区,重新配置。

既然是Cmake出错 那就先打开CmakeList.txt文件,因为当前这个工程没经过编译(编译报错)更没有进行后续的 配置ROS功能包,编辑CMakeLists.txt等操作(具体步骤参考上面知乎连接)

教程纵 编辑CMakeLists.txt 这步的操作是修改src/hello_ros/CMakeLists.txt文件,向其中添加以下内容

catkin_package(
  CATKIN_DEPENDS
)
# 头文件路径
include_directories(
include
  ${catkin_INCLUDE_DIRS}
)
# 生成可执行文件
add_executable(helloROS src/helloROS.cpp) # 此处按实际情况修改
# 链接库
target_link_libraries(helloROS ${catkin_LIBRARIES}) # 此处按实际情况修改

而当前工作区src目录下的CmakeList.txt 已经有上面的内容,同时第二行出现了project(project)

参考类似报错中的回答
在这里插入图片描述
在使用sudo apt-get install ros-<distro_name>-catkin to reinstall catkin命令后提示找不到依赖包
那既然确实是因为之前清除工作区导致了新工作无法编译 可以将CMakeList.txt文件中 project(project)注释掉 或者 删除编辑CMakeLists.txt 中添加的内容。

删除后重新执行catkin_make编译成功。
在这里插入图片描述
提示CMakeList.txt无法修改时 可以另存为其他地方 然后替换src中的txt。

  • 15
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值