linux下执行QT可执行文件报错

时间:2022-10-16 22:11:11

老样子,不多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