在 ROS 工作空间中使用 catkin_make 时 Qt 出现的问题

     2023-02-17     128

关键词:

【中文标题】在 ROS 工作空间中使用 catkin_make 时 Qt 出现的问题【英文标题】:Problems with Qt when using catkin_make in ROS workspace 【发布时间】:2019-01-17 09:49:43 【问题描述】:

我目前正在编写一个 Qt GUI 来远程控制 ROS 控制的机器人。在 catkin_ws 中使用catkin_make 时出现以下错误:

CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "Qt5" with any of
  the following names:

    Qt5Config.cmake
    qt5-config.cmake

  Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
  to a directory containing one of the above files.  If "Qt5" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  gui/CMakeLists.txt:31 (find_package)

然后我尝试通过将set(Qt5_DIR /home/user/Qt/5.12.0/gcc_64/lib/cmake/Qt5)(包含 Qt5Config.cmake)放入 gui/CMakeLists.txt 来解决该错误并得到一个新错误:

CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Found package configuration file:

    /home/user/Qt/5.12.0/gcc_64/lib/cmake/Qt5/Qt5Config.cmake

  but it set Qt5_FOUND to FALSE so package "Qt5" is considered to be NOT
  FOUND.  Reason given by package:

  The Qt5 package requires at least one component

Call Stack (most recent call first):
  gui/CMakeLists.txt:33 (find_package)

另一个 Qt5Config.cmake 在 /usr/lib/x86_64-linux-gnu/cmake/Qt5 中,尽管将 set(Qt5_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5) 放入 gui/CMakeLists.txt 只会导致类似的错误(只是路径不同)。

我现在有点迷路,也许有人可以指出正确的方向?

如果有帮助,我使用的是 Ubuntu 16.04。

【问题讨论】:

【参考方案1】:

查找包不仅仅是设置路径。

您可以在CMAKE_PREFIX_PATH 中将路径添加到 Qt 文件夹以避免这样的情况:

export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:/home/user/Qt/5.12.0/gcc_64

或者您可以使用 apt-get 为 ROS 安装 qt 二进制文件,如下所示:

sudo apt-get install ros-kinetic-libqt-*

【讨论】:

“CMake 错误:CMake 无法确定目标的链接器语言” 当我 catkin_make ROS 工作空间时出现错误

】“CMake错误:CMake无法确定目标的链接器语言”当我catkin_makeROS工作空间时出现错误【英文标题】:"CMakeError:CMakecannotdeterminelinkerlanguagefortarget"TheerrorsappearedwhenIcatkin_makeaROSworkingspace【发布时间】:2021-04-1512:20:49【问题描... 查看详情

在 Windows 10 的 ROS 中使用 catkin_make 时出现问题

】在Windows10的ROS中使用catkin_make时出现问题【英文标题】:Problemusingcatkin_makeinROSwithwindows10【发布时间】:2021-05-0821:11:40【问题描述】:我已经在Windows10上安装了rosNoetic。当我执行catkin_make时,我收到需要Ninja的cmake错误。尽管我... 查看详情

ros系列_学习一

...2、尝试编译新空间      cd~/catkin_ws/      catkin_make   3、使用前     查看详情

ros错误及其解决方法(代码片段)

新建工作空间,在执行catkin_make的时候报错Thespecifiedbasepath“/home/ghy/catkin_qt”containsaCMakeLists.txtbut“catkin_make”mustbeinvokedintherootofworkspace…..解决方法:unlink./CMakeLists.tx2.在ros中启动可视化工具[比如r 查看详情

ros错误及其解决方法(代码片段)

新建工作空间,在执行catkin_make的时候报错Thespecifiedbasepath“/home/ghy/catkin_qt”containsaCMakeLists.txtbut“catkin_make”mustbeinvokedintherootofworkspace…..解决方法:unlink./CMakeLists.tx2.在ros中启动可视化工具[比如rqt]时报错解决方法:... 查看详情

编写ros程序--helloros

...文件    ③编译工作区(在工作区目录下)第一次运行catkin_make命令时,会生成build和devel两个子目录    ④设置环境变量setup.bash 即sourcedevel/setup.bash (此脚本文件在devel目录中生成)  3.2.2运行程序    首先启动rosco... 查看详情

clionros开发环境设置

...意味着您将在CLion和运行的控制台中拥有两个不同的版本catkin_make。要在IDE和控制台上进行单一构建,需要将CLion构建路径设置为catkin工作区目录。为此,请转到  查看详情

在ros中使用opencv进行简单的图像处理

...并返回灰度图象,转换后在ROS下输出。正文1.在ROS下创建工作空间工作空间(workspace)是ROS中非常重要的一个概念,可以把工作空间理解为一个大的工厂,里面的分成几个大的生产车间(package),每一个生产车间中会有若干个具... 查看详情

ros学习--第3篇:ros基础---创建工作空间

...是告诉系统,这个是ROS的工作空间。2.编译工作空间catkin_make所有编译工作都要在catkin_ws文件夹下编译:cd~/catkin_ws/编译,编译完成后,会发现catkin_ws中多了两个文件build和develcatkin_make3.设置环境变量在第1篇中,... 查看详情

如何使用qt插件在qt中进行ros开发

...的“新建项目”中的“ImportROSWorkspace”选项不仅可以新建工作空间还可以导入现有的工作空间,而“新建文件”中的“ROS”下面的“Package”、“BasicNode”等选项可以创建package和和节点、launch文件、urdf文件等现在我们来创建一个... 查看详情

无法使用 catkin_make 构建 ROS 包。对包树感到困惑

】无法使用catkin_make构建ROS包。对包树感到困惑【英文标题】:NotabletobuildROSpackagewithcatkin_make.Confusedbypackagetree【发布时间】:2019-10-0120:50:18【问题描述】:我希望从这个github页面运行存储在vehicle/launch/中的main.launchhttps://github.com/... 查看详情

build一个ros的package

1.记住source环境设置#source/opt/ros/%YOUR_ROS_DISTRO%/setup.bash2.使用catkin_make  可以将catkin_make理解为结合了cmake和make,在标准的CMakeWorkflow中。#Inacatkinworkspace$catkin_make[make_targets][-DCMAKE_VARIABLES=...]  如果不熟悉 查看详情

使用资源和 ROS (catkin_make) 使用 CMake 编译 Qt 项目

】使用资源和ROS(catkin_make)使用CMake编译Qt项目【英文标题】:CompilingaQtprojectwithCMakeusingresourcesandROS(catkin_make)【发布时间】:2015-11-2312:03:05【问题描述】:我正在使用cmake编译一个Qt项目(它也使用catkin,因为这确实是一个ROS项目... 查看详情

ros学习--第3篇:ros基础---创建工作空间和软件包

...是告诉系统,这个是ROS的工作空间。2.编译工作空间catkin_make所有编译工作都要在catkin_ws文件夹下编译:cd~/catkin_ws/编译,编译完成后,会发现catkin_ws中多了两个文件build和develcatkin_make3.设置环境变量在第1篇中,... 查看详情

ros入门文件结构篇

ROS有很多架构及概念,例如工作空间,功能包,消息,服务等等。我们先从最开始的工作空间说,工作空间在其它里面,有的叫作项目,有的叫作解决方案。其实就是一个项目的根目录地址。例如,我们在/home里创建一个工作空... 查看详情

ROS旋律catkin_make失败

】ROS旋律catkin_make失败【英文标题】:ROSMelodiccatkin_makefail【发布时间】:2019-03-1906:58:16【问题描述】:所以我的catkin_make失败并出现错误AttributeError:\'module\'objecthasnoattribute\'Interpreter\'当我搜索解决方案时,我发现问题在于em和empy... 查看详情

roslesson1(代码片段)

...:见robowareROS编译工具**catkin**编译工具基于CMake开发的**catkin_make**初始化并建立工作空间mkdir-p~/catkin_ws/srccd~/catkin_ws/catkin_make编译cd~/catkin_ws#回到工作空间catkin_makesource~/catkin_ws/devel/setup.bash#编译完成后要source刷新环境执行后会在... 查看详情

可以在 catkin 工作空间之外创建 ROS 节点吗?

】可以在catkin工作空间之外创建ROS节点吗?【英文标题】:CanaROSnodebecreatedoutsideacatkinworkspace?【发布时间】:2018-05-1406:38:47【问题描述】:我想在catkin工作区之外创建一个ROS发布者节点。可以创建吗?【问题讨论】:【参考方案1... 查看详情