分享iMX6Q自编QT程序运行报缺少库文件问题解决方法
2017-06-07 17:23
399 查看
原文链接:http://www.forlinx.com/zixun/167.htm
写了一个QT小程序,但将程序拷贝到飞凌OKMX6Q-C板子上运行时出现如下错误:
/opt/qt4.8.5/apps/lincom: error while loading shared libraries: libts-1.0.so.0:
cannot open shared object file: No such file or directory
经过查询资料,比对分析后发现,这是由于imx6开发板启动的过程中没有加载tslib和qt4.8.5的相应的环境变量,这些环境变量存在/etc/rc.d/qt_env.sh这个脚本文件中,目前有两种方法可解决缺少库文件问题。如有其它方法,也希望可以分享出来,一起探讨。
1、要运行自己的程序,假设为dog程序,应先执行source命令配置tslib和qt4.8.5的相应的环境变量才能运行成功,命令如下:
root@freescale /$ source etc/rc.d/qt_env.sh
calibrated
root@freescale /$ ./dog
这样dog命令就可以正常运行了
2、将qt_env.sh文件中有关tslib和qt4.8.5的相应的环境变量配置在/etc/profile文件中,这样启机后直接运行程序就可以了,如下:
##tslib
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event2
export TSLIB_TSEVENTTYPE=input
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export PATH=$TSLIB_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
##qt4.8.5
export QTDIR=/opt/qt4.8.5
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTDIR/plugins
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
#export QWS_MOUSE_PROTO=mouseman:/dev/input/mice
export QWS_MOUSE_PROTO="tslib:/dev/input/event2 mouseman:/dev/input/mice"
export QWS_DISPLAY="linuxfb:mmWidth50:mmHeight130:0"
将上面环境变量加到profile里后,保存退出,再输入sync命令系统保存然后就可以了。
基于OKMX6Q-C (www.forlinx.com/68.htm)开发板,其它平台未经验证,请参考使用。
写了一个QT小程序,但将程序拷贝到飞凌OKMX6Q-C板子上运行时出现如下错误:
/opt/qt4.8.5/apps/lincom: error while loading shared libraries: libts-1.0.so.0:
cannot open shared object file: No such file or directory
经过查询资料,比对分析后发现,这是由于imx6开发板启动的过程中没有加载tslib和qt4.8.5的相应的环境变量,这些环境变量存在/etc/rc.d/qt_env.sh这个脚本文件中,目前有两种方法可解决缺少库文件问题。如有其它方法,也希望可以分享出来,一起探讨。
1、要运行自己的程序,假设为dog程序,应先执行source命令配置tslib和qt4.8.5的相应的环境变量才能运行成功,命令如下:
root@freescale /$ source etc/rc.d/qt_env.sh
calibrated
root@freescale /$ ./dog
这样dog命令就可以正常运行了
2、将qt_env.sh文件中有关tslib和qt4.8.5的相应的环境变量配置在/etc/profile文件中,这样启机后直接运行程序就可以了,如下:
##tslib
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event2
export TSLIB_TSEVENTTYPE=input
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export PATH=$TSLIB_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
##qt4.8.5
export QTDIR=/opt/qt4.8.5
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTDIR/plugins
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
#export QWS_MOUSE_PROTO=mouseman:/dev/input/mice
export QWS_MOUSE_PROTO="tslib:/dev/input/event2 mouseman:/dev/input/mice"
export QWS_DISPLAY="linuxfb:mmWidth50:mmHeight130:0"
将上面环境变量加到profile里后,保存退出,再输入sync命令系统保存然后就可以了。
基于OKMX6Q-C (www.forlinx.com/68.htm)开发板,其它平台未经验证,请参考使用。
相关文章推荐
- 怎样解决Qt编译出的程序运行时缺少libgcc_s_dw2-1.dll 文件的问题?
- qt 在win8 win10下不能拖拽文件到程序的问题 终于找到答案了 因为把程序的权限设置太高了.解决方法,降低运行权限
- 运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- Qt环境变量的设置,Qt程序运行时提示缺少mingwm10.dll、QtCore4.dll的解决方法
- 解决Win7系统下以管理员身份运行的程序接收不到拖放文件消息[WM_DROPFILES]问题的方法
- Qt环境变量的设置,Qt程序运行时提示缺少mingwm10.dll、QtCore4.dll的解决方法[转]
- 解决系统下以管理员身份运行的程序接收不到拖放文件消息[WM_DROPFILES]问题的方法
- 编译QT5.0.1的错误“qtbase\\configure.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件”的解决方法
- 在WIN10系统下运行VS2013编译成功后出现:无法启动程序“.exe” 系统找不到指定文件的问题的解决方法
- 解决SQL2000出现"无法执行查询,因为文件缺少或未注册。再次运行安装程序确保要求的文件已注册。"的方法
- 分享:某类程序不支持64位的程序在win2008R2与IIS7.5上运行的问题的解决方法
- web服务器程序运行出现乱码问题的解决方法
- 在GHOST的WINXPSP2安装SQL SERVER2000个人版时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装之前,必须重新启动计算机。”错误的解决方法
- 当所有安装过的程序(exe)文件都无法运行时的解决方法
- VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等的解决方法
- vs2010 C++ 静态编译(解决:程序在别人的机子运行不了,缺少mfc100.dll, xxx100d.dll等的解决方法)
- VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100.dll, xxx100d.dll等的解决方法
- WCF问题:“HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”解决方法
- “以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”的解决方法
- 在程序中执行 bat 文件的问题及解决方法