Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1522230
  • 博文数量: 290
  • 博客积分: 3468
  • 博客等级: 中校
  • 技术积分: 3461
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-28 22:21
文章分类

全部博文(290)

文章存档

2016年(13)

2015年(3)

2014年(42)

2013年(67)

2012年(90)

2011年(75)

分类: LINUX

2011-10-08 22:49:47

Qtopia-2.2.0
下载地址:ftp://ftp.ro.debian.org/pub/mirrors/ftp.trolltech.com/qtopia/source/
操作系统:ubuntu10.04

注意:下以操作都要在普通用户否则有可能跑不起来

Qtopia-2.2.0 编译过程出错处理可参考这片文章
http://blog.csdn.net/yimiyangguang1314/article/details/6068029

tar xf qtopia-free-src-2.2.0.tar.gz  // 在opt 目录下
cd qtopia-free-src-2.2.0
$ echo yes | ./configure  -qte '-embedded  -no-xft  -qconfig qpe  -depths 16,32  -system-jpeg -gif'  -qpe '-edition pda  -displaysize 240x320'  -qt2 '-no-opengl  -no-xft'  -dqt '-no-xft -thread'
$  make

$ cp dqt/bin/uic  qt2/bin/
$  make

$  patch -p1 < ../qtopia2.2.0.patch
 qtopia2.2.0.zip  
$  echo yes | ./configure  -qte '-embedded  -no-xft  -qconfig qpe  -depths 16,32  -system-jpeg -gif'  -qpe '-edition pda  -displaysize 240x320'  -qt2 '-no-opengl  -no-xft'  -dqt '-no-xft -thread'
$  make

.ui/release-shared/passwordbase_p.cpp:137: error: no ‘bool PasswordBase::event(QEvent*)’ member function declared in class ‘PasswordBase’

$  vim ./qtopia/include/qtopia/private/passwordbase_p.h 
bool event(QEvent*) ;    //int the class PasswordBase add this function

/opt/qtopia-free-2.2.0/qtopia/lib/libqpe.so: undefined reference to `PasswordBase::languageChange()'
/opt/qtopia-free-2.2.0/qtopia/lib/libqpe.so: undefined reference to `CategoryEditBase::languageChange()'

$  vim ./qtopia/include/qtopia/private/passwordbase_p.h
//    virtual void languageChange();
$  vim ./qtopia/include/qtopia/private/categoryeditbase_p.h
//    virtual void languageChange();

$ make && make install

编写运行qtopia 的脚本
$  vim run.sh
#!/bin/bash
./qt2/bin/qvfb -width 480 -height 272 -depth 16 &
cd qtopia/image
mkdir root 2>/dev/null || true
export HOME=$PWD/root
cd opt/Qtopia
export PATH=$PWD/bin:$PATH
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBARAY_PATH
export QTDIR=$PWD
export QPEDIR=$PWD
export KDEDIR=$PWD/../kde
 
sleep 3
qpe

$  sudo chmod a+x run.sh
$  ./run.sh


启动后无桌面显示(只有一张底色图)原因是没有字体文件

$  cp qt2/lib/fonts/ -av qtopia/image/opt/Qtopia/lib/

再次启动正常

运行应用程序
$ cd /opt/qtopia2_apps/mycalc
$ export QTDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/
$ export QPEDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/
$ export HOME=$QPEDIR/root/
$ export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBARAY_PATH
$ ./mycalc

Qt-extended-4.4.3

下载地址:

$ tar xf qt-extended-4.4.3.tar.gz  // 在opt 目录下
$ mkdir -p qt_extended4.4.3/build-x86
$ cd qt_extended4.4.3/build-x86
$ echo yes | ../configure \
-ui-type mobile \
-release \
-clean \
-sound-system oss \
-build-qt \
-no-sxe \
-no-ssl \
-no-v4l2 \
-no-vpn \
-no-phonon \
-no-libamr \
-dynamic-rotation \
-mediaengines cruxus \
-remove-mediaengine gstreamer,helix \
-pictureflow \
-remove-module bluetooth,drm \
-no-dbus \
-no-dbusipc \
-add-displaysize 240x320 \
-extra-qt-embedded-config "-qt-freetype -no-webkit -no-dbus -qt-gfx-transformed -qt-gfx-linuxfb" \
-extra-qt-config "-no-webkit" \
2>&1 | tee ../qtopiaconfig.log

ERROR: You requested "-sound-system alsa" but it was disabled.
把 -sound-system alsa 被成 -sound-system oss

或者

$ echo yes | ../qt-extended-4.4.3/configure -build-qt -image /opt/qt-extended-4.4.3/target -prefix /opt/qt-extended-4.4.3/target

Project () ERROR: An error occured while evaluating a QBuild script extension.
    File:    /opt/qt-extended-4.4.3/qbuild.pro@87
    Error:   SyntaxError: Parse error
             ()@:6732
网上说是跟安装了QT有关,删除QT相关的就好了(在没有安装QT的ubuntu 10.04 系统中确实不存在上面的问题)

$ bin/qbuild
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp:43:34: warning: X11/extensions/XTest.h: No such file or directory
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp: In member function ‘void X11KeyFaker::sendKeyEvent(int, bool)’:
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp:444: error: ‘XTestFakeKeyEvent’ was not declared in this scope
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp:447: error: ‘XTestFakeKeyEvent’ was not declared in this scope
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp:451: error: ‘XTestFakeKeyEvent’ was not declared in this scope
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp:454: error: ‘XTestFakeKeyEvent’ was not declared in this scope
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp:459: error: ‘XTestFakeKeyEvent’ was not declared in this scope
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp: In member function ‘void X11KeyFaker::connect()’:
/opt/qt-extended-4.4.3/qt-extended-4.4.3/qtopiacore/qt/tools/qvfb/x11keyfaker.cpp:545: error: ‘XTestQueryExtension’

$ sudo apt-file search X11/extensions/XTest.h
$ sudo apt-get install libxtst-dev

$ bin/qbuild image  //安装到了target目录下
$ bin/qbuild sdk //安装sdk  到 build-x86/sdk  这步可有可无
$ bin/runqtopia    编译安装完运行
阅读(2550) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~