linux下执行QT可执行文件报错
老样子,不多BiBi,直接进入主题!
有时候在linux下编译好QT程序,用QTCreator运行没问题,打包移植到另一台机器上,用命令./XX执行就会报错:error while loading shared libraries:等等问题,有同学可能会问我的依赖库已经放在可执行文件同目录下了,怎么会找不到呢,这里需要把你的可执行文件的目录配置到ld.so.conf文件下,这里介绍两种方法:
一、
1、cd /etc
2、vim ld.so.conf
3、添加你可执行文件的目录,也就是你的依赖库的路径,例如:/home/ninetripod/Desktop/test/debug
4、配置完后运行ldconfig
5、再次用命令执行即可运行
二、
1、cd /etc/ld.so.conf.d
2、sudo vim exe.conf(新建一个conf文件)
3、在exe.conf里面添加你可执行文件的目录,也就是你的依赖库的路径,例如:/home/ninetripod/Desktop/test/debug
4、完成后执行ldconfig
5、再次执行你的可执行文件即可运行
三、编写一个执行脚本run.sh
#! /bin/bash #定义路径变量 DETECTION=$HOME/thor_client strpath=$HOME/thor_client/thor #添加依赖 LD_LIBRARY_PATH=${DETECTION}/3rdparty/opencv:$LD_LIBRARY_PATH export LD_LIBRARY_PATH #执行可执行文件 $strpath/ThorIceLocker
走的太远不要忘记为什么出发,你的态度决定你的高度。