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校驗觸屏即可。