首页 > 解决方案 > ROS Kinetic 'catkin_make' 失败,因为 PROJECT_NAME 设置为 Project

问题描述

我使用 ROS Kinetic 已经有一段时间了,今天当我按照 ROS 教程页面 ( http://wiki.ros.org/catkin/Tutorials/create_a_workspace )制作一个新的 catkin 工作区时,我收到一个 CMake 错误,说明PROJECT_NAME 设置为无效的 Project。在我创建的任何其他工作空间中,我从未遇到过这个问题。

我不想因为害怕搞砸我的其他工作空间而弄乱toplevel.cmake 。

任何想法为什么会发生这种情况?

CMake Error at /opt/ros/kinetic/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().

谢谢你。

标签: cmakeroscatkin

解决方案


我能够重现您遇到的上述错误。为此,我打开了我的CMakeLists.txt并注释了定义包名称的第二行,即project(package_name). 之后,我尝试通过 构建我的包catkin_make,但出现以下错误(请参阅黄色框中的错误):

在此处输入图像描述

然后,在取消注释上述行后,我尝试构建相同的包。这次我能够成功构建我的包(测试,在我的情况下),没有任何错误。

在此处输入图像描述

CMakeLists.txt文件包含project()以及catkin_package()前一个函数应该catkin_package()在文件内部之前调用。所以,project(package_name)要么从您的文件中丢失,要么CMakeLists.txt被评论。

如果缺少,则手动添加。如果它在那里,但已评论,则取消评论。

CMakeLists.txt这里阅读更多关于文件正确格式的信息。


推荐阅读