注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

deisp的博客

 
 
 

日志

 
 

终于编译通过了minigui mde-1.3.0中的tools与notebook等 - embedded life - DonewsBlog  

2008-07-25 17:43:38|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

以前为了避免出错,直接从Makefile中删除tools, notebook, controlpanel等目标文件。

今天为了测试BOM,其启动必须用到mde-1.3.0/tools/vcongui,即BOM启动前先由mginit调用vfork产生一个子进程,然后呼叫系统调用execl(...vcongui..)来启动(后面好像还需要启动两个设备,其中一个是/dev/ptysf,另一个是/dev/ttysf,还没有进一步查找下去,所以BOM暂时还没有成功运行)。我想这两个设备节点不是大问题,应该可以通过ls -la pc上类似节点的主次设备号来创建。

在linuxrc启动脚本里面添加:

cd /dev

/bin/mknod ptysf c 2 63

/bin/mknod ttysf c 3 63

一、

这里重点要记住的是,vcongui是MiniGUI的一个应用程序,支持多窗口,自带拼音和五笔输入方法。

这里顺便提一个linux的基本命令,rpm。别的不多说了,就说这里用到的几个选项。

    查询该rpm包含的文件列表

2、安装 rpm -ivh --nosignature popt-1.4-1.src.rpm

   --nosignature,不使用签名,否则因为该原码包有V3 DSAsignature安装会有问题。

3、我不大知道安装后去哪里找源码了(也就是究竟装在哪,晕,初学linux,感觉好多地方都有障碍)。不过没关系,我有笨办法,呵呵。从第一步查出该包有文件两个:popt.spec和popt-1.4.tar.gz。逃不掉了吧?呵呵。grep -nr "popt-1.4.tar.gz" /*

浪费时间?没办法啊。我想这里肯定有一招简单的,但是我不知道,希望哪位DX告诉我啦。另外好像有一个比较简单的办法,但是我是后来才看的man rpm,所以没用上,那就是加一个 --prefix来指定安装路径(只能在第一次安装时用,时不再来了^_^,难道先卸掉再装?那也是很麻烦哦)。

然后就简单了,按照其它库的配置方法来交叉编译它好了。

我比较笨,也懒,就将该库装到交叉编译工具链那端了,后来还嫌minigui也麻烦,就将它也一定make install到同样路径下了,呵。

二、下面是编译安装好libpopt后出现的问题。

就是好几个函数里面提示sqrt未定义,晕,库函数也会找不到?没办法,只好自己瞎搞。

先修改自己为了方便配置写的configure调用脚本build,

#!/bin/sh

CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc \
CFLAGS="-O2 -g -D__linux__ -I/home/test/2440/include -I/usr/local/arm/2.95.3/arm-linux/include" \
LDFLAGS="-Wall -L/usr/local/arm/2.95.3/arm-linux/lib -lc -lm" \
./configure \
--target=arm-linux \
--prefix=/opt/target/smdk2440/minigui/usr/local \
--build=i386-linux \
--host=arm-linux \
--enable-lite  \
--enable-newgal \
--enable-smdk2410ial \
--enable-dummyial \
--enable-galfbcon \
--enable-tinyscreen \
--disable-textmode

主要是添加了-lm,这点提示来源于grep -nr "sqrt" /usr/local/arm/2.95.3/arm-linux/lib/*时发现libm里面有sqrt,我想这就是那个数学函数的库了。

本以为大功告成,谁知道编译错误还在,我想没别的可能了,继续吧,就在出错的文件里面加了一行:

extern float sqrt(float x);

继续,竟然成功了。

三、编译bom(下载地址:作者(浙大一大牛的博客站点)http://browser.bokee.com/343457.html)

/usr/local/arm/2.95.3/bin/arm-linux-gcc -o bom *.c -L/usr/local/arm/2.95.3/arm-linux/lib -lpthread -lminigui

四、一切就绪,运行mginit,再运行bom,晕,竟然什么反应都没有。我想应该是因为vcongui没有成功打开设备的原因,明天再调了。

不过,这里还是需要提一点,mginit的几个对话框暴大,可怜我的LCD是240*320,所以直接看不到确定按钮,看了源码才知道是魏老大写了好多的文字在上面,为了进一步下去,就删除了一大堆,流泻几个版本号信息作罢,呵。具体见:mginit.c中的AboutMiniGUI和AboutMDE。

P.s:

关于vcongui的启动错误,可以参考http://www.minigui.org/cgi-bin/lb5000/topic.cgi?forum=25&topic=1946,魏老大说是kernel不支持老的伪终端机制时也会导致Create Terminal Error,需要在编译内和时打开相关的选项。



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=698447







changejoy 发表于2006-01-17 2:59 PM  IP: 222.92.62.*




引文来源  终于编译通过了minigui mde-1.3.0中的tools与notebook等 - embedded life - DonewsBlog

----------------------------
一键转贴,快速捕捉生活精彩,赢每周好礼!查看活动首页>>

  评论这张
 
阅读(102)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017