让链接器找到qt5

时间:2017-01-19 07:34:43

标签: c++ qt ubuntu linker qt5

我是计算机世界的新手。我正在尝试安装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 issueLinker error cannot find lqt5::Widgetssimilar error launchpad bug report

注意 - 我正在使用Ubuntu 14.04,如果你想让我更新一些$ VAR,那么请建议它的名字像$ LIBRARY_DIR。如果你想让我添加-DVAR ='路径'到catkin_make然后还建议我需要添加一个正确的变量名称。

非常感谢!! :d

2 个答案:

答案 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