Qt 构建在标准的API上,应用于嵌入式Linux设备,并带有自己的紧凑视窗系统。基于Qt的应用程序直接写入Linux帧缓冲,解除了您对 X11 视窗系统的需求。 - 减少内存消耗,占位更小
- 可利用硬件加速图形硬件加速图形
- 可编译移除不常使用的组件与功能
Qt for Embedded Linux 提供一个虚拟帧缓冲器,可以采用点对点逐像素匹配物理设备显示。 qdevelop 是一个跨平台集成开发环境,完全致力于 qt4 的开发 。它由一个 Qt 项目管理器,源代码编辑器,和通过调用 make 、 gdb 命令实现的自动构建工具组成。 qdevelop 的目的是易于使用,不会尝试与更完整的开发工具竞争,如 kdevelop 。它的目标是简单,强大,以及实现不同平台上接口的统一 [root@localhost root]# cd /mnt/hgfs/linux/
[root@localhost linux]# tar -zxvf qdevelop-v0.28.tar.gz -C /usr/local/
[root@localhost linux]# cd /usr/local/qdevelop-v0.28/
[root@localhost qdevelop-v0.28]# source /root/qt-x11.sh
[root@localhost qdevelop-v0.28]# echo $PATH
/usr/local/Trolltech/Qt-4.5.2//bin:/usr/local/arm/3.4.1/bin:/usr/local/arm/3.4.1/bin:/usr/local/arm/3.4.1/bin:/usr/local/arm/3.4.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
[root@localhost qdevelop-v0.28]# ls
[root@localhost qdevelop-v0.28]# qmake QDevelop.pro
//
从错误提示中,在执行构建工程之前,先运行 lrelease QDevelop.pro
Project ERROR: Please run "lrelease QDevelop.pro" before building the project
[root@localhost qdevelop-v0.28]# lrelease QDevelop.pro
//
执行 lrelease QDevelop.pro
[root@localhost qdevelop-v0.28]# qmake QDevelop.pro
//
执行检测头文件及库文件,然后生成 Makefile
文件。 [root@localhost qdevelop-v0.28]# make
[root@localhost qdevelop-v0.28]# vi +52 src/InitCompletion.cpp
//
打开并编辑 InitCompletion.cpp,
跳到文件的 52
行 [root@localhost qdevelop-v0.28]# make
src/InitCompletion.cpp: In destructor `virtual
InitCompletion::~InitCompletion()':
src/InitCompletion.cpp:52: parse error before `+' token
src/InitCompletion.cpp:53: confused by earlier errors, bailing out
make: *** [build/o/unix/InitCompletion.o] Error 1
将 QFile( QDir::tempPath()+"/"+file ).remove();
QString str = QDir::tempPath()+"/";
QFile(str + file).remove();
[root@localhost qdevelop-v0.28]# make install
install -m 755 -p "bin/qdevelop" "/usr/bin/qdevelop"
strip "/usr/bin/qdevelop"
[root@localhost qdevelop-v0.28]# qdevelop
export QTDIR=/usr/local/Trolltech/Qt-4.5.2/
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/
export PATH=$QTEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTEDIR/lib:$LD_LIBRARY_PATH
[root@localhost root]# mkdir quit
[root@localhost root]# cd quit/
[root@localhost quit]# vi main.cpp
int main(int argc,char *argv[])
QApplication app(argc,argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
[root@localhost quit]# cd ../
[root@localhost root]# ls
[root@localhost root]# source qt-x86.sh
//
加载 qt-x86.sh
文件,设置临时的编译文件所需工具的路径及库连接 [root@localhost root]# echo $PATH
[root@localhost root]# cd quit/
[root@localhost quit]# qvfb -width 320 -height 240 &
[root@localhost quit]# ./quit -qws