A. qt中执行的shell脚本需要root权限,怎么办
root方法:
1、打开手机设置--开发者选项--usb调试功能设置。
2、一键root这样的Kingroot、刷机精灵等设置下手机就好了。
3、顺畅的让手机上获取到最高的root权限了。
通过这样的方式就让手机上授权获取到手机上比较好了。
B. qt如何把debug编译成release版本
可以project->Set Active Config,选中release版本,此后,按F5或F7编译所得的结果就是release版本。
Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。
至于是否需要DLL支持,主要看你采用的编译选项。如果是基于ATL的,则Debug和Release版本对DLL的要求差不多。
如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而Release版本需要MFC42.DLL支持。
Release Build不对源代码进行调试,不考虑MFC的诊断宏,使用的是MFC Release库,编译十对应用程序的速度进行优化,而Debug Build则正好相反,它允许对源代码进行调试,可以定义和使用MFC的诊断宏,采用MFC Debug库,对速度没有优化。
C. shell中EOF的作用
这是 Here document 用法
EOF本意是 End Of File,表明到了文件末尾。
使用格式基本是这样的:
命令 << EOF
内容段
EOF
将“内容段”整个作为命令的输入。
你的代码里就是用cat命令读入整段字符串并赋值给list变量。
其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,只是一个起始和结束的标志罢了。
有个特殊用法不得不说:
: << COMMENTBLOCK
shell脚本代码段
COMMENTBLOCK
这个用来注释整段脚本代码。 : 是shell中的空语句。
搜索一下 Here document 你会明白更多。
D. qt中如何模拟shell里的echo命令
echo是bash的内建指令,你使用终端启动的是bash这个应用程序,如果想执行这个命令,你应该创建bash进程。
E. linux中如何开机启动运行指定的应用程序或指令
fonts
export QWS_MOUSE_PROTO=Tslib.1 用户启动文件
#;bin/yuan/input/etc/ts0
export TSLIB_CALIBFILE=/:是“空格”+“&”符号)让其在后台运行.d/,若用户不需要启动QT,造成其他程序(比如Shell)无法通过串口终端与用户交互.conf
export TSLIB_TSDEVICE=/init;home/etc/,则可能会导致位于其后的指令或程序无法得到执行;ts/,那么设置hellow程序开机启动的方法如程序清单 1!/usrb/,可以直接删除
export TSLIB_PLUGINDIR=/,you can delete it 下面是启动QT界面的指令;hellow
#start qt command.d/dev/,将要执行的指令添加到里面;sh
#you can add your app start_command three
/home/。
程序清单1;ts0
/
export TSLIB_CONFFILE=/。若用户有一个hellow的程序放在/start_userapp;start_zylauncher &
如果程序是一个阻塞程序(程序被运行后不会退出或返回);目录中,可以通过vi命令编辑/。
当用户需要EasyARM-iMX283在开机启动后就运行指定的应用程序或指令时,并且始终占用串口终端其实楼主的问题很专业;zylauncher/,之前我在周立功那边也了解过不少;ts;usrb/usr/。对于此类应用程序,如下所示;etc/:/input/dev/rc.1红色部分所示;home/pointercal
export QT_QWS_FONTDIR=/,可以在其后面添加“ &”(注意:
/
可以把需要运行的指令放到/etc/rc.local中
F. 请问Qt软件在linux系统中如何打包移植
一、准备
busybox 1.14.1
qt-embedded-linux-opensource-src-4.5.1
tslib 1.4
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
构建一个新的根文件系统目录,路径为
/root/rootfs
二、具体步骤:
1、编译安装busybox
在官网下载最新版。可以参考如下几处要修改的地方:
Busybox Settings ---> Build Options ---> (arm-linux-)Cross Compiler prefix
Busybox Settings ---> Installation Options --->[]Dont't use /usr
Busybox Settings ---> Installation Options --->(/root/rootfs) BusyBox installation prefix
Busybox Settings --->Busybox Library Tuning --->[*] Fancy Shell prompts
输入如下命令,编译并安装。
# make;make install
2、编译安装tslib
# ./autogen.sh
# ./configure -prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make;make install
安装目录指明为 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/
主要是为了在编译QTE时,不用指定tslib的头文件和库文件,方便以后程序开发。
注意:在做这一步前,需要做一个目录链接
在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目录下
# ln -s ../../usr/include ./
3、编译安装QTE
1)、最基本的配置
# ./configure -prefix /usr -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -qt-mouse-tslib
-prefix /usr 使用这个配置,编译后的QTE库文件即可放在目标文件系统的/usr/lib下,而不是默认/usr/local/Trolltech/QtEmbedded-4.5.1 这个很深的目录
2)、编译
# make
# cp lib/* /root/rootfs/usr/lib -rd 将QTE库文件拷贝到根文件系统的目录
# cp plugins /root/rootfs/usr -rd 将QTE插件目录拷贝到根文件系统的目录
4、根文件系统的设置
1)、这时/root/rootfs/usr下应该有 bin etc include lib sbin目录
tslib生成的etc目录,包含一个tslib的配置文件 nf,编辑此文件,去掉mole_raw input前的注释
# mv etc ../ 移动到rootfs的根目录
2)、进行一次清理操作
#arm-linux-strip lib/*.so
#arm-linux-strip usr/lib/*.so
3)、编辑etc/profile,添加以下内容
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/nf
export TSLIB_PLUGINDIR=/usr/lib/ts
最后,通过mkyaffs2image 制作镜像,烧写镜像,启动ts_calibrate校验触屏即可。