使链接器查找qt5

Make linker find qt5

本文关键字:qt5 查找 链接      更新时间:2023-10-16

我是计算世界的新手。我正在尝试安装iai kinect2驱动程序,但在执行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

在进行了大量的stackerflowing之后,我发现qt5要么没有下载,要么在其他目录中下载,要么与qt4的其他版本冲突。github上的一些页面也建议使用补丁,但那是针对另一个包的。

我已经安装了qt5,但在我的主目录中,因为我遵循了qt5网页上的步骤。现在,我如何添加已安装的Qt5库的路径,以便链接器(ld)可以找到所需的文件。

有用的链接-Qt5链接器问题,链接器错误找不到lqt5::小工具,类似错误启动板错误报告

注意-我使用的是Ubuntu 14.04,如果你想让我更新一些$VAR,请建议它的名字像$LIBRARY_DIR。如果你想让我把-DVAR="路径"添加到catkin_make中,那么也建议我需要添加一个合适的变量名。

非常感谢!!:D

只安装qtbase5-dev软件包(对于Ubuntu 14.04应该是Qt 5.2.1)怎么样:

sudo apt-get install qtbase5-dev

而不是安装Qt5?

如果您只想修复库路径,可以在/etc/ld.so.conf.d中添加一个文件anything.conf,添加一个或多个具有库路径名的行。之后,在其中运行ldconfig

我也遇到了同样的问题
您可以按照以下步骤解决问题:

首先下载必要的库:

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