error: /usr/local/lib/libvtkGUISupportQt-7.1.so.1: undefined reference to `qt_version_tag@Qt_5.13'
Unsolved
General and Desktop
-
I m trying to develop an application to read a point cloud data and display it. I have Qt5.12.6 with PCL1.9. For this I have build QVTKWidgetPlugin using VTK7.1.1 built with Qt5.13.2. I m trying to run a sample code taken from here. I m getting following linking error.
14:58:50: Running steps for project pclviewer... 14:58:50: Starting: "/usr/bin/cmake" --build . --target all [ 20%] Automatic MOC and UIC for target pclviewer [ 20%] Built target pclviewer_autogen Scanning dependencies of target pclviewer [ 40%] Building CXX object CMakeFiles/pclviewer.dir/pclviewer_autogen/mocs_compilation.cpp.o In file included from /usr/include/boost/detail/endian.hpp:9, from /usr/local/include/pcl-1.9/pcl/PCLPointCloud2.h:11, from /usr/local/include/pcl-1.9/pcl/PolygonMesh.h:10, from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:44, from /home/suraj/QT/pclviewer/pclviewer.h:11, from /home/suraj/QT/build-pclviewer-Desktop_Qt_5_12_6_GCC_64bit-Release/pclviewer_autogen/EWIEGA46WW/moc_pclviewer.cpp:9, from /home/suraj/QT/build-pclviewer-Desktop_Qt_5_12_6_GCC_64bit-Release/pclviewer_autogen/mocs_compilation.cpp:2: /usr/include/boost/predef/detail/endian_compat.h:11:161: note: #pragma message: The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead 11 | #pragma message("The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead") | ^ [ 60%] Building CXX object CMakeFiles/pclviewer.dir/main.cpp.o In file included from /usr/include/boost/detail/endian.hpp:9, from /usr/local/include/pcl-1.9/pcl/PCLPointCloud2.h:11, from /usr/local/include/pcl-1.9/pcl/PolygonMesh.h:10, from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:44, from /home/suraj/QT/pclviewer/pclviewer.h:11, from /home/suraj/QT/pclviewer/main.cpp:1: /usr/include/boost/predef/detail/endian_compat.h:11:161: note: #pragma message: The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead 11 | #pragma message("The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead") | ^ [ 80%] Building CXX object CMakeFiles/pclviewer.dir/pclviewer.cpp.o In file included from /usr/include/boost/detail/endian.hpp:9, from /usr/local/include/pcl-1.9/pcl/PCLPointCloud2.h:11, from /usr/local/include/pcl-1.9/pcl/PolygonMesh.h:10, from /usr/local/include/pcl-1.9/pcl/visualization/pcl_visualizer.h:44, from /home/suraj/QT/pclviewer/pclviewer.h:11, from /home/suraj/QT/pclviewer/pclviewer.cpp:1: /usr/include/boost/predef/detail/endian_compat.h:11:161: note: #pragma message: The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead 11 | #pragma message("The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead") | ^ [100%] Linking CXX executable pclviewer /usr/bin/ld: /usr/local/lib/libvtkGUISupportQt-7.1.so.1: undefined reference to `qt_version_tag@Qt_5.13' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/pclviewer.dir/build.make:254: pclviewer] Error 1 make[1]: *** [CMakeFiles/Makefile2:77: CMakeFiles/pclviewer.dir/all] Error 2 make: *** [Makefile:84: all] Error 2 14:59:21: The process "/usr/bin/cmake" exited with code 2. Error while building/deploying project pclviewer (kit: Desktop Qt 5.12.6 GCC 64bit) When executing step "CMake Build" 14:59:21: Elapsed time: 00:32.
I went through this post and provided the path of Qt installation in PATH and QTDIR variable in .bashrc file but it did not solve the error.
-
Hi,
Why did you build the VTK integration with a different version of Qt ?