在 ROS 工作空间中使用 catkin_make 时 Qt 出现的问题
Posted
技术标签:
【中文标题】在 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-*
【讨论】:
以上是关于在 ROS 工作空间中使用 catkin_make 时 Qt 出现的问题的主要内容,如果未能解决你的问题,请参考以下文章