我是计算机世界的新手。我正在尝试安装iai kinect2 drivers,但在执行catkin_make -DCMAKE_BUILD_TYPE="Release"
步骤时,我收到以下错误:
/usr/bin/ld: cannot find -lQt5::Core
/usr/bin/ld: cannot find -lQt5::Gui
/usr/bin/ld: cannot find -lQt5::Widgets
/usr/bin/ld: cannot find -lQt5::Test
/usr/bin/ld: cannot find -lQt5::Concurrent
/usr/bin/ld: cannot find -lQt5::OpenGL
collect2: error: ld returned 1 exit status
make[2]: *** [/home/pb/catkin_ws/devel/lib/libkinect2_registration.so] Error 1
make[1]: *** [iai_kinect2/kinect2_registration/CMakeFiles/kinect2_registration.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
在做了大量的stackoverflowing之后,我想出了qt5 is not downloaded或者在其他目录中下载或者与其他版本的qt4冲突。 github上的某些页面也提供了补丁,但这是另一个包。
我已经安装了qt5但是在我的主目录中,因为我按照Qt5 webpage上的步骤操作。现在,我如何添加已安装的Qt5库的路径,以便链接器(ld)可以找到所需的文件。
有用的链接 - Qt5 linker issue,Linker error cannot find lqt5::Widgets,similar error launchpad bug report
注意 - 我正在使用Ubuntu 14.04,如果你想让我更新一些$ VAR,那么请建议它的名字像$ LIBRARY_DIR。如果你想让我添加-DVAR ='路径'到catkin_make然后还建议我需要添加一个正确的变量名称。
非常感谢!! :d
答案 0 :(得分:0)
如何安装qtbase5-dev
包(对于Ubuntu 14.04应该是Qt 5.2.1):
sudo apt-get install qtbase5-dev
而不是安装Qt5?
如果您只想修复库路径,可以在/etc/ld.so.conf.d
中添加一个文件 whatever.conf ,添加一个或多个包含库路径名的行。
之后,在那里运行ldconfig
。
答案 1 :(得分:0)
我有同样的问题。
您可以按照以下步骤解决问题:
首先下载必要的库:
sudo apt-get install libqt5concurrent5
sudo apt-get install libqt5test5
sudo apt-get install libqt5core5a
sudo apt-get install libqt5opengl5
sudo apt-get install qtdeclarative5-dev
然后将这些行添加到'<consider-package>/CMakeLists.txt'
:
find_package(Qt5Gui)
find_package(Qt5Core)
find_package(Qt5Widgets)
find_package(Qt5Test)
find_package(Qt5Concurrent)
find_package(Qt5OpenGL)
最后做catkin_make
。