MINIGUI交叉编译【转】

总算把minigui和它的示例包用arm-linux-gcc编译成功了.主要参考了<<MiniGUI 在AT91RM9200 开发板上的移植>>(作者:北京理工大学 方宁 马忠梅)这篇文章.同时感谢网友sun68对编译过程中遇到的问题的指教!
       整个编译过程如下:
       1.编译平台的搭建.在宿主机上安装Redhat9.0,使用的交叉编译工具链是cross-2.95.3.tar.bz2.安装过程不再赘述.
       2.交叉编译MiniGUI.我使用的是libminigui-1.3.3,mde-1.3.1,minigui-res-1.3.3.都可在飞漫网站上下载
       先编译库文件.解压到/tmp/arm-minigui/ 下,进入libminigui-1.3.3.运行./configure脚本
CC=arm-linux-gcc ./configure \
       --target= arm-linux \
       --prefix=/usr/local/arm/arm-linux \
       --build= arm-linux \
       --host=i686-pc-linux-gnu --enable-lite \
         CC 用来指定所使用的编译器这里使用的arm-linux-gcc 就是被安装到宿主机上的交叉编译器
         --target 选项用于指定目标平台这里使用arm-linux
         --prefix选项用于指定MiniGUI函数库的安装路径默认的安装路径是/usr/local 而在这里应该是所使用的交叉编译环境中系统头文件目录include和库目录lib 所在的目录本例中就是/usr/local/arm/arm-linux(这样一来MiniGUI的函数库和头文件也将被分别安装到交叉编译环境中的lib 和include 目录中在后续进行MiniGUI 应用程序的交叉编译时就可以正确地找到MiniGUI 的头文件和函数库了)
         --build 选项与--arget一样为arm-linux
         --host选项用来指明宿主机的类型这里使用i686-pc-linux-gnu 即可
         最后一个选项--enable-lite 用来指定生成基于进程的MiniGUI-Lite 版本而不生成基于线程的MiniGUIThreads版本目前MiniGUI 函数库有两种版本Threads 版本和Lite 版本,1.3.3版默认生成Threads 版本,例中编译生成Lite 版本两种版本之间的具体差异请参看MiniGUI 用户手册.
         如果运行./configure 脚本成功就会生成定制的Makefile 文件然后可以继续执行make 和make install命令编译并安装libminigui 在执行make install操作时用户必须具用root 权限安装成功后MiniGUI 的函数库和头文件以及配置文件等资源将被安装到/usr/local/arm/arm-linux 目录中具体情况为函数库被装在lib/子目录中头文件被装在include/ 子目录中手册被装在man/ 子目录中配置文件被装在etc/ 子目录中.
         然后编译minigui-res-1.3.3.解压minigui-res-1.3.3.tar.gz 进入相应目录这里需要说明的是在执行make install操作之前需要对目录中的configure.linux文件做一些修改打开configure.linux文件你会发现prefix选项部分的默认值为$(TOPDIR)/usr/local 需要将这里修改为refix=$(TOPDIR)/usr/local/arm-linux/arm-linux 这样执行make install 操作之后安装脚本会自动把MiniGUI资源文件安装到/usr/local/arm-linux/arm-linux/lib/minigui/res/目录下.
         最后再来编译mde-1.3.1.解压mde-1.3.1.tar.gz 进入相应目录首先修改目录下的configure.in 文件将其中AC_CHECK_HEADERS(minigui/commmon.h, have_libminigui=yes, foo=bar)改为
AC_CHECK_HEADERS($prefix/include/minigui/common.h,have_libminigui=yes, foo=bar) 以防止编译时系统无法找到头文件从而把have_libminigui 赋值为no .然后执行autogen.sh 脚本重新生成configure脚本执行
          CC=arm-linux-gcc \
                CFLAGS="-l/usr/local/arm/arm-linux/include -Dlinux -D_linux_ -Dunix" \
                LDFLAGS="-Wl,-L/usr/local/arm/arm-linux/lib"
                ./configure \
                --target=arm-linux \
                --prefix=/usr/local/arm-linux/arm-linux \
                --build=arm-linux \
                --host=i686-pc-linux-gnu \
                --enable-lite \
各选项的意义与前面部分相同执行成功后在该目录下会生成一个新的Makefile 文件修改Makefile 文件中的COMMON_SUBDIRS 部分将其中的notebook tools,controlpanel 例子暂时删除否则编译这几个程序时会提示找不到popt.h 和libpopt.so 而这些popt 头文件和库文件需要自己从网上下载到相应的目录当中执行make操作完成演示程序的编译这时可以发现在每一个demo 目录下都会生成一个可执行程序.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值