Linux Mint 21.3下Qt5程序leterrier-calculmental编译路径错误求助
Qt5编译链接器路径错误排查(Linux Mint 21.3)
问题描述
编译Qt5程序leterrier-calculmental时出现链接器错误:
/usr/bin/ld: cannot find /libQt5MultimediaWidgets.so: No such file or directory /usr/bin/ld: cannot find /libQt5Multimedia.so: No such file or directory
项目的leterrier-calculmental.pro已添加+= widgets multimedia multimediawidgets配置,但qmake生成的Makefile中,多媒体库路径被错误设置为根目录/;手动将路径修正为/lib/x86_64-linux-gnu/libQt5Multimedia.so.5等正确路径后可正常编译,需排查路径错误的产生原因。
可能的原因及排查方向
- qmake配置异常:执行
qmake -query QT_INSTALL_LIBS查看Qt库的默认安装路径,正常应为/usr/lib/x86_64-linux-gnu。若输出为/或其他错误路径,说明qmake的核心配置文件存在错误,需检查Qt5的安装配置。 - 系统Qt库安装或链接问题:用
dpkg -L libqt5multimedia5和dpkg -L libqt5multimediawidgets5命令查看库文件的实际安装路径,确认文件是否存在、软链接是否正常。若存在多个Qt版本共存,可能导致路径识别冲突。 - 项目.pro文件自定义配置干扰:检查.pro文件中是否存在
LIBS、QMAKE_LIBDIR等自定义配置,比如LIBS += -L/ -lQt5Multimedia这类错误设置会强制指向根目录路径。 - qmake缓存残留:删除项目目录下的
.qmake.stash文件及生成的Makefile,重新执行qmake和make,排除旧缓存的影响。 - 环境变量干扰:检查
QTDIR、QT_LIB_DIR等环境变量,执行echo $QTDIR、echo $QT_LIB_DIR查看是否有异常值。若存在错误的环境变量设置,会干扰qmake对库路径的自动识别。
内容的提问来源于stack exchange,提问作者Néstor A.C.
相关产品推荐
相关产品推荐

