rviz_QT_VERSION Error for a rviz plugin on ROS1
Hello. I'm going to try the Rviz tutorial. I got the source codes from here.
I checked out to the kinetic-devel
branch ' for ROS1 Kinetic.
And, I just build with catkin_make
.
Then, I got below error.
-- catkin 0.7.14
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 6 packages in topological order:
-- ~~ - visualization_tutorials (metapackage)
-- ~~ - interactive_marker_tutorials
-- ~~ - librviz_tutorial
-- ~~ - rviz_plugin_tutorials
-- ~~ - rviz_python_tutorial
-- ~~ - visualization_marker_tutorials
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin metapackage: 'visualization_tutorials'
-- ==> add_subdirectory(visualization_tutorials/visualization_tutorials)
-- +++ processing catkin package: 'interactive_marker_tutorials'
-- ==> add_subdirectory(visualization_tutorials/interactive_marker_tutorials)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'librviz_tutorial'
-- ==> add_subdirectory(visualization_tutorials/librviz_tutorial)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Using Qt5 based on the rviz_QT_VERSION: 5.5.1
CMake Error at visualization_tutorials/librviz_tutorial/CMakeLists.txt:25 (find_package):
Could not find a configuration file for package "Qt5" that exactly matches
requested version "5.5.1".
The following configuration files were considered but not accepted:
/usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake, version: 5.6.1
-- Configuring incomplete, errors occurred!
How to fix this issue? Do I should to install Qt5?
Thanks.
Asked by harderthan on 2019-02-07 19:54:46 UTC
Answers
EDITED
NOTICE by @gvdhoorn
The EXACT argument is there to avoid incompatibilities between the version of Qt5 being linked by the tutorial package and the packages that it depends on (ie: RViz). If you don't use the same version, there is a risk of running into ABI incompatibilities, which are hard to diagnose.
Hello, I solved this problem by myself.
I remove the EXACT
option on CMakeList.txt
placed on each packages.
like
Before
...
find_package(Qt5 ${rviz_QT_VERSION} EXACT REQUIRED Core Widgets)
...
After
...
find_package(Qt5 ${rviz_QT_VERSION} REQUIRED Core Widgets)
...
The point of those is that you need to do every package which have same error.
Asked by harderthan on 2019-02-07 20:05:18 UTC
Comments
The EXACT
argument is there to avoid incompatibilities between the version of Qt5 being linked by the tutorial package and the packages that it depends on (ie: RViz). If you don't use the same version, there is a risk of running into ABI incompatibilities, which are hard to diagnose.
Asked by gvdhoorn on 2019-02-08 04:41:04 UTC
Comments