您的位置:首页 > 产品设计 > UI/UE

在OK6410上运行QT程序找不到libQtGui.so.4的解决

2016-06-14 16:53 316 查看
想在OK6410上运行自己经过交叉编译的QT程序,OK6410上烧写的是光盘所带的Linux系统,运行程序时出现以下现象:
 ./qt_server: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

qt_server是我写的QT应用程序,直接执行的:./qt_server -qws,错误如上。

在网上找了找解决方法,有人建议修改/etc/ld.so.conf文件,在该文件中加入自己连接库的路径,但是发现OK6410的/etc/目录下面根本没有这个文件,使用OK6410提供的开发文档修改也不行。

在论坛中看到LD_LIBRARY_PATH这个环境变量,这个环境变量是基于shell的,虽然还不太明白这个环境变量,但是也要试试,我的QT依赖的库文件目录是/opt/qt-4.7.1/lib/,在终端中输入如下:

export LD_LIBRARY_PATH=/opt/qt-4.7.1/lib: $LD_LIBRARY_PATH

然后查看LD_LIBRARY_PATH的内容,在终端中输入:

echo $LD_LIBRARY_PATH

查看到路径已经成功添加了,在运行自己 的QT程序,执行./qt_server -qws ;QT程序成功启动。

但是对于菜鸟的我,重新开机后,发现问题又回来了,重新查看LD_LIBRARY_PATH,发现里面什么也没有,后来在论坛上看到,才明白,使用export整进去的只是在当前shell中有用,开机重启后消失。

如何只需设置一次,以后就不用重新设置呢?于是我修改了/etc/profile文件,打开该文件,在该文件中添加如下:

LD_LIBRARY_PATH=/opt/qt-4.7.1/lib: $LD_LIBRARY_PATH

export LD_LIBRARY_PATH

保存后退出,重新打开OK6410,发现生效了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt arm