天嵌 ARM开发社区

 找回密码
 注册
查看: 9462|回复: 32

qt程序在板子上运行不起来

[复制链接]
以书入法 发表于 2013-7-8 10:32:33 | 显示全部楼层 |阅读模式
本帖最后由 以书入法 于 2013-7-9 10:33 编辑

PC:ubuntu 11.10
板子:TQ210  系统:linux
按照天嵌教程的步骤,安装ubuntu,安装交叉编译器,搭建qt环境,但是qt程序跑不起来。
各位大神!!!!!!!!!!!!!!!急!!!!

PC机上:
dingwg@bebt:~$ gcc -v
使用内建 specs。
目标:x86_64-linux-gnu
配置为:../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.4.6-11ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
线程模型:posix
gcc 版本 4.4.6 (Ubuntu/Linaro 4.4.6-11ubuntu2)

dingwg@bebt:~$ arm-linux-gcc -v
Using built-in specs.
Target: arm-embedsky-linux-gnueabi
Configured with: /opt/EmbedSky/build-croostools/.build/src/gcc-4.4.6/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-embedsky-linux-gnueabi --prefix=/opt/EmbedSky/4.4.6 --with-sysroot=/opt/EmbedSky/4.4.6/arm-embedsky-linux-gnueabi/embedsky --enable-languages=c,c++ --disable-multilib --with-arch=armv7-a --with-cpu=cortex-a8 --with-tune=cortex-a8 --with-fpu=neon --with-float=softfp --with-pkgversion='for TQ210 EmbedSky Tech' --with-bugurl=http://www.embedsky.net --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --with-gmp=/opt/EmbedSky/build-croostools/.build/arm-embedsky-linux-gnueabi/build/static --with-mpfr=/opt/EmbedSky/build-croostools/.build/arm-embedsky-linux-gnueabi/build/static --with-mpc=/opt/EmbedSky/build-croostools/.build/arm-embedsky-linux-gnueabi/build/static --with-ppl=no --with-cloog=no --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-target-optspace --without-long-double-128 --with-local-prefix=/opt/EmbedSky/4.4.6/arm-embedsky-linux-gnueabi/embedsky --disable-nls --enable-c99 --enable-long-long
Thread model: posix
gcc version 4.4.6 (for TQ210 EmbedSky Tech)

QT程序:
PC上:
dingwg@bebt:~/nfs$ ls
day01  rootfs.bin  webtest  zImage.bin
dingwg@bebt:~/nfs$ file day01
day01: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
dingwg@bebt:~/nfs$

板子上:
[root@EmbedSky /mnt]# ls
day01       rootfs.bin  webtest     zImage.bin
[root@EmbedSky /mnt]# ./day01 -qws
Error opening mouse device '/dev/mouse3': No such file or directory




寻梦的感觉 发表于 2013-7-8 11:36:43 | 显示全部楼层
本帖最后由 寻梦的感觉 于 2013-7-8 11:40 编辑

回复错误已删除………………………………………………
寻梦的感觉 发表于 2013-7-8 11:37:00 | 显示全部楼层
本帖最后由 寻梦的感觉 于 2013-7-8 11:39 编辑

之前遇到过,不过好久了这个大概是你的开发板上环境变量没有配好吧。你把开发板上/etc/profile目录下配置好了环境变量没嘛?如果是在里面配置的,检查下是否有“*****/dev/mouse3”把这句注释掉,以下是我的配置,能正常使用,请参考:# Ash profile
# vim: syntax=sh

# No core files by default
#ulimit -S -c 0 > /dev/null 2>&1

export set HOME=/root

export set QTDIR=/opt/Qt
export set QPEDIR=/opt/Qt
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
export set QWS_DISPLAY="LinuxFB:mmWidth190:mmHeight150:10"
export set QWS_SIZE=880*800
export set QT_PLUGIN_PATH=$QTDIR/plugins/
export set QWS_KEYBOARD="TTY:/dev/tty1"
export set QWS_MOUSE_PROTO="TSLIB:/dev/event4"
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

###just for the tslib######
export set TSLIB_FBDEVICE=/dev/fb0
export set TSLIB_TSDEVICE=/dev/event4
export set TSLIB_CONFFILE=/usr/local/etc/ts.conf
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_PLUGINDIR=/usr/local/lib/ts

USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH
祝你成功

亚瑟王 发表于 2013-7-8 11:44:19 | 显示全部楼层
没看懂你的意思,错误信息在哪里的?
 楼主| 以书入法 发表于 2013-7-8 12:29:35 | 显示全部楼层
亚瑟王 发表于 2013-7-8 11:44
没看懂你的意思,错误信息在哪里的?

qt程序放板子上运行不起来,下面是串口信息
[root@EmbedSky /mnt]# ls
TQLed       hello       ledtest     web         zImage.bin
day01       hellotest   rootfs.bin  webtest
[root@EmbedSky /mnt]# ./day01 -qws
Error opening mouse device '/dev/mouse3': No such file or directory
界面弹出来立马就消失了,上面一行就是错误信息
 楼主| 以书入法 发表于 2013-7-8 12:31:00 | 显示全部楼层
寻梦的感觉 发表于 2013-7-8 11:37
之前遇到过,不过好久了这个大概是你的开发板上环境变量没有配好吧。你把开发板上/etc/profile目录下配置好 ...

谢谢! 还是不行。。。。
 楼主| 以书入法 发表于 2013-7-8 12:39:16 | 显示全部楼层
寻梦的感觉 发表于 2013-7-8 11:37
之前遇到过,不过好久了这个大概是你的开发板上环境变量没有配好吧。你把开发板上/etc/profile目录下配置好 ...

这是我的/etc/profile文件

# Ash profile
# Ash profile
# vim: syntax=sh
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$QPEDIR/plugi
                          
USER="`id -un`"                 
LOGNAME=$USER
PS1='[\u@\h \W]# '   
PATH=$PATH               
                          
HOSTNAME=`/bin/hostname`                 
                                                         
export USER LOGNAME PS1 PATH   
 楼主| 以书入法 发表于 2013-7-8 12:42:12 | 显示全部楼层
寻梦的感觉 发表于 2013-7-8 11:37
之前遇到过,不过好久了这个大概是你的开发板上环境变量没有配好吧。你把开发板上/etc/profile目录下配置好 ...

我板子上的/etc/profile文件:
# Ash profile                                            
# vim: syntax=sh                                         
                                                                                
# No core files by default                              
#ulimit -S -c 0 > /dev/null 2>&1                        
                                                         
export set HOME=/root                                                         
export set QTDIR=/opt/PDA                                                      
export set QPEDIR=/opt/PDA                                                     
export set QWS_DISPLAY="LinuxFB:/dev/fb0"                                      
export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"                     
export set QWS_KEYBOARD="TTY:/dev/tty1"                                       
if [ -f /sys/devices/virtual/input/input4/uevent ] ; then                     
        export set TSLIB_TSDEVICE=/dev/event4                                   
        export set TSLIB_CONFFILE=/etc/ts.conf                                 
        export set TSLIB_CALIBFILE=/etc/pointercal                              
        export set TSLIB_PLUGINDIR=/lib/ts                                      
        export set QWS_MOUSE_PROTO="TSLIB:/dev/event4 Intellimouse:/dev/mouse3"
else                                                                           
        export set QWS_MOUSE_PROTO="Intellimouse:/dev/mouse3"                  
fi                                                                              
export set QT_PLUGIN_PATH=$QTDIR/plugins/                                       
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH                                             
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$QPEDIR/plugi
                                                                                
USER="`id -un`"                                                                 
LOGNAME=$USER                                                                  
PS1='[\u@\h \W]# '                                                              
PATH=$PATH                                                                     
                                                                                
HOSTNAME=`/bin/hostname`                                                        
                                                                                
export USER LOGNAME PS1 PATH  
亚瑟王 发表于 2013-7-8 14:22:06 | 显示全部楼层
以书入法 发表于 2013-7-8 12:29
qt程序放板子上运行不起来,下面是串口信息
[root@EmbedSky /mnt]# ls
TQLed       hello       ledtes ...

/dev/mouse3那句话不是错误信息,而是说找不到鼠标这个设备。
至于界面闪一下就没有了,是你的应用程序有问题。你可以测试天嵌科技提供的PDA的相关程序。
寻梦的感觉 发表于 2013-7-8 14:22:10 | 显示全部楼层
以书入法 发表于 2013-7-8 12:42
我板子上的/etc/profile文件:
# Ash profile                                            
# vim: sy ...

我当时也搞了好久才搞好,参考了好多网上资料反复的修改环境变量,最后重新编译了开发板上跑的qt,重新安装才成功,以下是我的编译配置:

./configure -prefix /opt/qt-4.8.4-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -qt3support -no-xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -nomake examples -nomake docs -nomake demo -no-nis -no-cups -iconv -no-dbus -openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib-1.0/include  -L/opt/tslib-1.0/lib -no-pch

开发板上修改了/etc/profile文件后是否使用命令:source /etc/profile 使之生效?不知道你有没有按这个玩意儿---tslib,这个是触摸屏校正、测试相关的,如果不安装则把配置项-qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib-1.0/include  -L/opt/tslib-1.0/lib 去掉,建议还是安装一下tslib,
寻梦的感觉 发表于 2013-7-8 14:23:14 | 显示全部楼层
以书入法 发表于 2013-7-8 12:42
我板子上的/etc/profile文件:
# Ash profile                                            
# vim: sy ...

我当时也搞了好久才搞好,参考了好多网上资料反复的修改环境变量,最后重新编译了开发板上跑的qt,重新安装才成功,以下是我的编译配置:

./configure -prefix /opt/qt-4.8.4-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -qt3support -no-xmlpatterns -no-glib -no-phonon -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -nomake examples -nomake docs -nomake demo -no-nis -no-cups -iconv -no-dbus -openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib-1.0/include  -L/opt/tslib-1.0/lib -no-pch

开发板上修改了/etc/profile文件后是否使用命令:source /etc/profile 使之生效?不知道你有没有按这个玩意儿---tslib,这个是触摸屏校正、测试相关的,如果不安装则把配置项-qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib-1.0/include  -L/opt/tslib-1.0/lib 去掉,建议还是安装一下tslib,
 楼主| 以书入法 发表于 2013-7-8 15:04:41 | 显示全部楼层
亚瑟王 发表于 2013-7-8 14:22
/dev/mouse3那句话不是错误信息,而是说找不到鼠标这个设备。
至于界面闪一下就没有了,是你的应用程序有 ...

我就是按照TQ210开发板Qt开发教程_V1.0.pdf里面“新建一个Qt应用工程”里的步骤一步一步走的,界面本来有一个标签(hello world)和一个按钮(点击我),但是放板子上一运行,标签和按钮都没有。步骤绝对没错....
 楼主| 以书入法 发表于 2013-7-8 15:07:00 | 显示全部楼层
本帖最后由 以书入法 于 2013-7-8 15:07 编辑
寻梦的感觉 发表于 2013-7-8 14:23
我当时也搞了好久才搞好,参考了好多网上资料反复的修改环境变量,最后重新编译了开发板上跑的qt,重新安 ...

您好,您原先搭建qt环境的步骤,源码包版本还记得不?能不能发我一份啊,我怀疑我的环境搭的有问题....谢谢
fedora ubuntu环境的都行
亚瑟王 发表于 2013-7-8 15:28:37 | 显示全部楼层
以书入法 发表于 2013-7-8 15:04
我就是按照TQ210开发板Qt开发教程_V1.0.pdf里面“新建一个Qt应用工程”里的步骤一步一步走的,界 ...

不知道你的代码是怎么写的了。
 楼主| 以书入法 发表于 2013-7-8 15:36:39 | 显示全部楼层
亚瑟王 发表于 2013-7-8 15:28
不知道你的代码是怎么写的了。

我就建了一个工程,没添加一行代码,在ui界面就添加了一个label标签,将其text改成“hello world”,
剩下的都没动,就是按照教程步骤走的,而且槽函数什么的都没加,运行的时候就只有一个界面,界面上的label标签按理说会显示“hello world”,但什么都没显示
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-2 10:04 , Processed in 1.046868 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表