ROS Kinetic'catkin_make'失败,因为PROJECT_NAME设置为Project

时间:2019-07-08 21:30:37

标签: cmake ros catkin

我已经使用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().

谢谢。

2 个答案:

答案 0 :(得分:0)

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

enter image description here

然后,在取消注释以上行之后,我尝试构建相同的软件包。这次我能够成功构建我的包(以我的情况为例),而没有任何错误。

enter image description here

CMakeLists.txt文件包含project()catkin_package(),并且前一个函数应在文件中的catkin_package()之前调用。因此,project(package_name)文件中缺少CMakeLists.txt或已注释。

如果缺少,请手动添加。如果有,但发表评论然后取消评论。

here中详细了解CMakeLists.txt文件的正确格式。

答案 1 :(得分:0)

具有讽刺意味的是,您将运行 : sudo apt-get install ros-<distro_name>-catkin to reinstall catkin 因为即使您清除了整个工作区,由于某些符号链接或包中的某些内容损坏,问题仍然存在,这将始终导致相同的错误,在重新安装时catkin 它对我有用,因为我知道我遇到了完全相同的问题。