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().

catkin_make报错Invoking “make cmake_check_build_system“ failed_第1张图片
出现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)

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

删除后重新执行catkin_make编译成功。
catkin_make报错Invoking “make cmake_check_build_system“ failed_第3张图片
提示CMakeList.txt无法修改时 可以另存为其他地方 然后替换src中的txt。

你可能感兴趣的:(linux)