需求
更新了Qt版本到5.9.3之后,部署到ubuntu16.04上无法正常运行,需要使其正常运行(注意:此时不能将库直接添加至系统路径,因为ubuntun16.04依赖本身低版本的qt库,可能会产生其他问题)
方法一:修改.pro文件
添加: QMAKE_LFLAGS += -Wl,-rpath,/usr/local/Qt5.9.3/lib
方法二:qmake后直接修改Makefile
红色标记部分,是额外添加的
拓展1:查看程序默认的额外搜索库路径
使用命令"readelf -d [APP]"来检查[APP]使用的库查找路径,如下图
拓展2:linux搜索库路径
linux下搜索库路径,如果有-Wl,-rpath,/usr/local/Qt5.9.3/lib,会先搜索rpath路径,然后搜索系统库路径,(若未指定,不会搜索应用所在目录,这点与windows不同)。
拓展3:依赖的其他环境变量和库文件
QWIdget与QMl分别依赖不同的库,同时还依赖平台插件
】
将相关环境变量添加进系统