运行cmake时Qt Creator出错

3
我正在尝试在Qt Creator中打开一个ros包,但不起作用。每次运行cmake时都会出现以下错误:
CMakeLists.txt:15 (catkin_package)处出现未知的CMake命令“catkin_package”错误。 CMakeLists.txt:5 (find_package)处找不到模块Findcatkin.cmake或者找不到catkin包的配置文件。 请调整CMAKE_MODULE_PATH以查找Findcatkin.cmake,或将catkin_DIR设置为包含catkin的CMake配置文件的目录。 该文件将具有以下名称之一:
catkinConfig.cmake
catkin-config.cmake

我不知道该怎么办,有什么建议吗?

1个回答

3
如ROS维基页面上所述 关于IDE的页面,要在QtCreator中打开ROS节点,你需要:
  1. 确保你的catkin工作空间的setup.bash已经被调用。你可以将 source ~/path/to/your/ws/devel/setup.bash 添加到你的.bashrc, 这样你就不必为每一个终端手动添加了。(该点在链接的维基页面中未提及)。
  2. 在终端中运行QtCreator(或使用链接的维基页面中提供的桌面文件)。
  3. 打开整个工作空间的CMakeLists.txt,而非单个包的CMakeLists.txt(否则在QtCreator中编译时会出现问题)。
    注意:工作空间的CMakeLists.txt只是指向/opt/ros某处的文件的链接。这将导致QtCreator出现问题,因此请删除该链接并复制文件(可以通过ls -l CMakeLists.txt显示需要复制的确切位置)。

嘿,感谢您的帮助...我按照您的指示找到了位置: /opt/ros/hydro/share/catkin/cmake/toplevel.cmake 但是我应该把它粘贴到哪里?构建位置吗? - Marcos Ribeiro
我该如何指示QtCreator打开整个catkin工作区的主CMakeLists.txt文件? - Marcos Ribeiro
假设你的catkin工作区位于~/catkin_ws。请将~/catkin_ws/src/CMakeLists.txt替换为toplevel.cmake(当然要确保文件仍然命名为CMakeLists.txt)。然后在QtCreator中打开此文件(使用正常的“打开文件或项目”对话框)。然后,QtCreator会询问您要定位构建目录的位置。必须将其设置为~/catkin_ws/build - luator
啊,现在我明白了。它起作用了,非常感谢,我很感激你的帮助。现在我可以继续我的项目了 :D - Marcos Ribeiro
第二点对我有用!谢谢! - tony497

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接