原创 Compile qtopia 2.2.0 in ubuntu9.04

2010-2-2 18:00 2909 4 5 分类: MCU/ 嵌入式
安装好ubuntu 9.04
1.安装G++
  apt-get install build-essential
2.安装编译X11用到的库:
apt-get -y install x-dev libx11-dev x11proto-xext-dev libxext-dev libqt3-mt-dev uuid uuid-dev
安装xlibs-static-dev包
4.export PATH=$PATH:/usr/local/arm/3.4.5/bin
5.patch -p1 < ../qtopia-free-2.2.0.patch
6.
将qmemoryfile_unix.cpp   
if (!f)
        f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);改为

if (!f)
        f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY,0666);


7.配置QTopia
echo yes | ./configure   -qte '-embedded -no-xft -qconfig qpe -depths 16,32 -system-jpeg -qt-zlib -qt-libpng -gif -no-g++-exceptions -no-qvfb -xplatform linux-arm-g++ -tslib' -qpe 'edition pda -displaysize 240x320 -fontfamilies "helvetica fixed micro smallsmooth smoothtimes unifont" -xplatform linux-arm-g++ -luuid' -qt2 '-no-opengl -no-xft' -dqt '-no-xft -thread'

make
8.
qvfbview.cpp:39:22: 错误: asm/page.h:没有该文件或目录
因为这是对上位主机编译qvfb,由于ubuntu9.04的/usr/include/asm没有page.h
因此我们复制相应的page.h到/usr/include/asm

9
kernel/qwsmouse_qws.o kernel/qwsmouse_qws.cpp
kernel/qwsmouse_qws.cpp:63:19: tslib.h: No such file or directory

安装tslib1.4
先安装
apt-get install automake
apt-get install libtool
然后
./autogen.sh
echo ac_cv_func_malloc_0_nonnull=yes>arm-linux.cache
./configure --host=arm-linux --prefix=/usr/local/arm/3.4.5/arm-linux --cache-file=arm-linux.cache
make
make install

10

kernel/qjpegio.cpp:60:21: jpeglib.h: No such file or directory

安装jpegsrc.v6b.tar.gz
配置
./configure --enable-shared --enable-static --prefix=/usr/local/arm/3.4.5/arm-linux --build=i386 --host=arm
然后修改生成的
gedit Makefile &

cc =gcc 改为CC=arm-linux-gcc

AR=ar rc 改为AR=arm-linux-ar rc

AR2=ranlib 改为AR2=arm-linux-rablib
make
make install-lib

11
/usr/local/arm/3.4.5/bin/../lib/gcc/arm-linux/3.4.5/../../../../arm-linux/bin/ld: cannot find -luuid
collect2: ld returned 1 exit status
make[5]: *** [../../../lib/libqpe.so.1.5.3] 错误 1
安装e2fsprogs-1.40.2.tar.gz

先安装apt-get install texinfo
./configure --host=arm-linux --enable-elf-shlibs --with-cc=arm-linux-gcc --with-linker=arm-linux-ld --prefix=/usr/local/arm/3.4.5/arm-linux
make
make install-libs



enjoy it




文章评论1条评论)

登录后参与讨论

用户61522 2010-2-2 18:06

#ifndef _ASMARM_PAGE_H #define _ASMARM_PAGE_H //#include #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) #define PAGE_SHIFT 12 #ifdef __KERNEL__ #ifndef __ASSEMBLY__ #define STRICT_MM_TYPECHECKS #define clear_page(page) memzero((void *)(page), PAGE_SIZE) extern void copy_page(void *to, void *from); #define clear_user_page(page, vaddr) clear_page(page) #define copy_user_page(to, from, vaddr) copy_page(to, from) #ifdef STRICT_MM_TYPECHECKS /* * These are used to make use of C type-checking.. */ typedef struct { unsigned long pte; } pte_t; typedef struct { unsigned long pmd; } pmd_t; typedef struct { unsigned long pgd; } pgd_t; typedef struct { unsigned long pgprot; } pgprot_t; #define pte_val(x) ((x).pte) #define pmd_val(x) ((x).pmd) #define pgd_val(x) ((x).pgd) #define pgprot_val(x) ((x).pgprot) #define __pte(x) ((pte_t) { (x) } ) #define __pmd(x) ((pmd_t) { (x) } ) #define __pgd(x) ((pgd_t) { (x) } ) #define __pgprot(x) ((pgprot_t) { (x) } ) #else /* * .. while these make it easier on the compiler */ typedef unsigned long pte_t; typedef unsigned long pmd_t; typedef unsigned long pgd_t; typedef unsigned long pgprot_t; #define pte_val(x) (x) #define pmd_val(x) (x) #define pgd_val(x) (x) #define pgprot_val(x) (x) #define __pte(x) (x) #define __pmd(x) (x) #define __pgd(x) (x) #define __pgprot(x) (x) #endif #endif /* !__ASSEMBLY__ */ /* to align the pointer to the (next) page boundary */ #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) #ifndef __ASSEMBLY__ extern void __bug(const char *file, int line, void *data); #define BUG() __bug(__FILE__, __LINE__, NULL) #define PAGE_BUG(page) __bug(__FILE__, __LINE__, page) /* Pure 2^n version of get_order */ extern __inline__ int get_order(unsigned long size) { int order; size = (size-1) >> (PAGE_SHIFT-1); order = -1; do { size >>= 1; order++; } while (size); return order; } #endif /* !__ASSEMBLY__ */ #include #include #define __pa(x) __virt_to_phys((unsigned long)(x)) #define __va(x) ((void *)__phys_to_virt((unsigned long)(x))) #ifndef CONFIG_DISCONTIGMEM #define virt_to_page(kaddr) (mem_map + (__pa(kaddr) >> PAGE_SHIFT) - \ (PHYS_OFFSET >> PAGE_SHIFT)) #define VALID_PAGE(page) ((page - mem_map) < max_mapnr) #endif #endif #endif
相关推荐阅读
用户61522 2011-02-12 16:02
使用WinDbg和虚拟机调试Windows驱动程序教程(转)
使用WinDbg和虚拟机调试Windows驱动程序教程(转)  驱动调试攻略(WinDbg) 驱动调试是一个系统级调试方式,所以调试工具用WinDbg是最佳选择。驱动调试一般情况下,需要两台电脑进行。...
用户61522 2011-01-30 17:34
Android源码编译及模拟器运行 2
这一步安装获取源代码以及编译所需要的软件,使用如下命令: $ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libe...
用户61522 2011-01-25 09:37
Android源码编译及模拟器运行
转:http://zhuyonghui116.blog.hexun.com/53467596_d.html源代码下载:http://source.android.com/SDK下载:http://co...
用户61522 2010-12-12 15:27
yaffs2 direct在VC2008下移植
源码下载:http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2/1. 在VS2008建立工程文件,加入yaffs2核心代码Core: yaffs_che...
用户61522 2010-10-11 15:34
【转帖】linux和qtopia下的矩阵键盘驱动程序
出处:http://blog.163.com/xiyong8260/blog/static/66514621200944115026359/网易博客:xiyong基于s3c2440和linux,实现了...
用户61522 2010-09-29 14:48
STM32 某些通道PWM无法输出波形解决
比如STM32F103ZE 芯片的第36引脚PA2(USART2_TX(7)/TIM5_CH3ADC123_IN2/TIM2_CH3 )在配置PWM正确的情况下让其输出PWM波形,示波器却观察不到方波...
我要评论
1
4
关闭 站长推荐上一条 /2 下一条