-- linux爱好者,业余时间热衷于分析linux内核源码 -- 目前主要研究云计算和虚拟化相关的技术,主要包括libvirt/qemu,openstack,opennebula架构和源码分析。 -- 第五届云计算大会演讲嘉宾 微博:@Marshal-Liu
分类: LINUX
2010-03-11 21:15:55
tar zxvf qtopia-core-opensource-src-4.3.3.tar.gz
cd qtopia-core-opensource-src-4.3.3/mkspecs/qws/Linux-arm-g++
vi qmake.conf
由于没有设置相应环境变量,故用绝对路径,在arm-Linux- 前面加上路径/usr/local/arm/3.4.1/bin/.(也可以直接在/etc/bash.bashrc修改,加上PATH=$PATH:/usr/local/arm/3.3.2/bin来设置环境变量)
第三步: 配置QT/Ecd ../../../ 回到源代码根目录
① 在文件qtopia-core-opensource-src-4.3.3/src/gui/embedded/qmouselinuxtp_qws.h中加入
#define QT_QWS_IPAQ
#define QT_QWS_IPAQ_RAW
② 在文件qmouselinuxtp_qws.cpp里把/dev/h3600_ts替换为自己板子的设备文件,我的板子的设备为/dev/h3600_tsraw,正好与qmouselinuxtp_qws.cpp中使用的设备中一致,就不用改了。
第四步: 回到源代码根目录./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 8,16,32 -no-qt3support
然后一路选择yes默认即可
最后中断会有提示,我们make,make完了之后make install即可(这是一个漫长的编译过程)
注意:
步骤2中如果只定义了#define QT_QWS_IPAQ则使用的是/dev/h3600_ts,如果两个都定义了则使用的是/dev/h3600_tsraw
③ 配置完成后运行make进行编译,编译过程中可能会出现无法找到头文件zlib.h问题,则按①,②所述修改相应文件即可。
④ 编译完成后运行 make install进行安装, qtopia-core-opensource-src-4.3.3将被安装到/usr/local/Trolltech/QtopiaCore-4.3.3-arm。
⑤在开发板上设置环境变量
在/home/[yourname]目录下建立env.sh脚本文件,添加内容如下:
export QTDIR=/usr/local/Trolltech/QtopiaCore-4.3.3-arm
export QPEDIR=/usr/local/Trolltech/QtopiaCore-4.3.3-arm
export QWS_KEYBOARD="USB:/dev/input/event1"
export QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
export PATH=$QPEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib
保存退出之后,我们编译qt的时候现确认下环境变量:在你的目录下使用命令:source env.sh ,然后qmake -project;qmake;make即可
ok!建立一个qt应用程序hello.cpp下载到目标板试试:
#include
#include
#include
#include
#include
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QWidget *pWidget=new QWidget;
QLabel label(pWidget);
QFont font;
font.setPointSize(12);
font.setFamily("wenquanyi");
app.setFont( font );
label.setText(QObject::tr("您好"));
pWidget->show();
return app.exec();
}