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

时间:2019-01-17 09:49:43

标签: c++ qt cmake ros

我目前正在对Qt GUI进行编程,以远程控制ROS控制的机器人。在catkin_ws中使用flyway migrate时,出现以下错误:

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) (包含Qt5Config.cmake)放入gui / CMakeLists.txt来解决错误,并得到一个新错误:

set(Qt5_DIR /home/user/Qt/5.12.0/gcc_64/lib/cmake/Qt5)

另一个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放入gui / CMakeLists.txt仅导致类似的错误(只是路径不同)。

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

如果有帮助,我正在使用Ubuntu 16.04。

1 个答案:

答案 0 :(得分:0)

查找包并不仅仅是设置一个路径。

可以向Qt的文件夹添加路径在CMAKE_PREFIX_PATH,以避免这样的:

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-*