miniGUI移植大致流程

miniGUI移植大致流程 wfjdemmye 2019-12-05 18:19:48 675

移植过程大致如下(由于存在依赖关系,顺序不能错): --prefix 为生成库文件目录; --host 指定目标板编译器; LDFLAGS 为动态库路径 CFLAGS 为头文件路径 CC=arm-hisiv200-linux-gcc CPP=arm-hisiv200-linux-cpp CXX=arm-hisiv200-linux-g++ LD=arm-hisiv200-linux-ld AR=arm-hisiv200-linux-ar RANLIB=arm-hisiv200-linux-ranlib STRIP=arm-hisiv200-linux-strip

source /etc/profile export CC=arm-hisiv200-linux-gcc CXX=arm-hisiv200-linux-g++ LD=arm-hisiv200-linux-ld AR=arm-hisiv200-linux-ar

1、zlib-1.2.6-------- ./configure --prefix=$PWD/_install make & make install sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/

2、libpng-1.2.37----- ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux make & make install sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/

3、jpeg-7------------ ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux make;make install sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/ /freetype-1.3.1/ 4、freetype-1.3.1 ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux vim config.cache 修改
ac_cv_path_LD=${ac_cv_path_LD=arm-hisiv200-linux-ld} ac_cv_prog_CC=${ac_cv_prog_CC=arm-hisiv200-linux-gcc} ac_cv_prog_CPP=${ac_cv_prog_CPP='arm-hisiv200-linux-gcc -E'} 重新运行 ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux 修改Makefile文件,以跳过编译test目录。

去掉“all:”后的变量“tttest”

注释掉“install:”下的第二行:“cd $(FTTESTDIR); $(MAKE) –f$(MAKEFILE) install”

make & make install sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/ /**/ 4、freetype-2.3.9-fm20100818 miniGui修改后的库 ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux make;make install

出现 rmdir: ‘/usr/local/modules/freetype/include/freetype2/freetype/internal’: 没有那个文件或目录 make: [install] 错误 1 (忽略) 解决办法: mkdir usr/local/modules/freetype/include/freetype2/freetype/internal make install

/****/ 交叉移植完zlib,png,jpeg,freetype后将上述生成的库文件拷贝至/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi相应目录下,此为HI3531的编译环境,

5、libminigui-gpl-3.0.12 ./configure --disable-screensaver --disable-splash --disable-jpgsupport --enable-pngsupport --with-osname=linux --with-targetname=fbcon --enable-autoial --build=i686-linux --target=arm-unknown-linux --host=arm-hisiv200-linux --prefix=$PWD/_install CC=arm-hisiv200-linux-gcc CPP=arm-hisiv200-linux-cpp CXX=arm-hisiv200-linux-g++ LD=arm-hisiv200-linux-ld AR=arm-hisiv200-linux-ar RANLIB=arm-hisiv200-linux-ranlib STRIP=arm-hisiv200-linux-strip

./configure --prefix=$PWD/_install --disable-screensaver --disable-splash --disable-jpgsupport --with-osname=linux --with-targetname=fbcon --enable-autoial --enable-ttfcache --with-ttfsupport=ft2 --host=arm-hisiv400-linux make;make install

/****/ Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX]

By default, make install' will install all the files in /usr/local/bin', /usr/local/lib' etc. You can specify an installation prefix other than/usr/local' using --prefix', for instance--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/libminigui] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR]

Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names

System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST]

Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-shared=PKGS build shared libraries default=yes --enable-static=PKGS build static libraries default=yes --enable-fast-install=PKGS optimize for fast installation default=yes --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --disable-libtool-lock avoid locking (might break parallel builds) --enable-videost7167 include st7167 platform dfb video driver --enable-adv2dapi include advanced 2D graphics APIs --enable-minimalgdi build a minimal GDI library only --enable-productid insert a productid into the library file --enable-splash enable splash --enable-screensaver enable screensaver --enable-flatlf include flat Look and Feel renderer --enable-skinlf include skin Look and Feel renderer --enable-ownmalloc use own implementation of malloc functions --enable-ownstdio use own implementation of stdio functions --enable-ownpthread use own implementation of pthread functions --enable-procs build MiniGUI-Processes version --enable-standalone build MiniGUI-Standalone version --enable-incoreres use incore resource instead file IO to initialize MiniGUI --enable-miniguientry use minigui_entry function in MiniGUI --enable-fixedmath include fixed math routines --enable-debug build with debugging messages --enable-tracemsg trace messages of MiniGUI --enable-msgstr include symbol name of message --enable-dblclk mouse button can do double click --enable-cursor include cursor support --enable-clipboard include clipboard support --enable-customial build the IAL engine for customer's board --enable-dlcustomial build the dlcustom IAL engine --enable-netial build the IAL engine for net --enable-cisco_touchpad_ial build the IAL engine for Cisco Touchpad --enable-mstar_ial build the IAL engine for MStar --enable-ipaqh3600ial build the IAL engine for iPAQ H3600 --enable-nexusial build the IAL engine for Nexus --enable-ipaqh5400ial build the IAL engine for iPAQ H5400 --enable-tslibial build the IAL engine for TSLIB --enable-dummyial build the Dummy IAL engine --enable-autoial build the Automatic IAL engine --enable-randomial build the Random IAL engine --enable-commial build the COMM IAL engine --enable-qvfbial build the QVFB IAL engine --enable-qemuial build the QEMU IAL engine --enable-wvfbial build the WVFB IAL engine --enable-jz4740ial build the JZ4740 IAL engine --enable-lide build the lide IAL engine --enable-2440ial build the 2440 IAL engine --enable-davinci6446ial build the DAVINCI6446 IAL engine --enable-dfbial build the DFB IAL engine --enable-consoleial build the console (Linux console) IAL engine --enable-consoleps2 build the console engine subdriver for PS2 mouse --enable-consoleimps2 build the console engine subdriver for IntelligentMouse (IMPS/2) mouse --enable-consolems build the console engine subdirver for old MS serial mouse --enable-consolems3 build the console engine subdirver for MS3 mouse --enable-consolegpm build the console engine subdirver for GPM daemon --enable-textmode Linux system have console (text mode) on FrameBuffer --enable-rbfsupport include raw bitmap font support --enable-rbfvgaoem include incore RBF font of ISO8859-1 VGAOEM (8x8) font --enable-rbfterminal include incore RBF font of ISO8859-1 Terminal (8x12) font --enable-rbffixedsys include incore RBF font of ISO8859-1 FixedSys (8x15) font --enable-vbfsupport include var bitmap font support --enable-fontsserif include incore font SansSerif (11x13) --enable-fontcourier include incore font Courier (8x13) --enable-fontsystem include incore font System (14x16) --enable-upfsupport build support for FMSOft's Unicode Prerendered Font (UPF) --enable-fonttimes include incore Times UPF fonts (12x10 and 17x14) --enable-qpfsupport build support for Qt Prerendered Font (QPF) --enable-sefsupport build support for koxomo scripteasy (SEF) --enable-ttfcache include ttf cache support --enable-bmpfsupport build support for Bitmap Font (bmpf) --enable-latin2support include East European (Latin 2, ISO8859-2) charset support --enable-latin3support include South European (Latin 3, ISO8859-3) charset support --enable-latin4support include North European (Latin 4, ISO8859-4) charset support --enable-cyrillicsupport include Cyrillic (ISO8859-5) charset support --enable-arabicsupport include Arabic (ISO8859-6) charset support --enable-greeksupport include Greek (ISO8859-7) charset support --enable-hebrewsupport include Hebrew (ISO8859-8) charset support --enable-latin5support include Turkish (Latin 5, ISO8859-9) charset support --enable-latin6support include Nordic, Latin 6, ISO8859-10) charset support --enable-thaisupport include Thai (ISO8859-11) charset support --enable-latin7support include Latin 7 (ISO8859-13) charset support --enable-latin8support include Latin 8 (ISO8859-14) charset support --enable-latin9support include Latin 9 (ISO8859-15, West Extended) charset support --enable-latin10support include Latin 10 (ISO8859-16, Romanian) charset support --enable-gbsupport include EUC encoding of GB2312 charset support --enable-gbksupport include GBK charset support --enable-gb18030support include GB18030-0 charset support --enable-big5support include BIG5 charset support --enable-euckrsupport include support for EUC encoding of KSC5636 and KSC5601 charsets --enable-eucjpsupport include support for EUC encoding of JISX0201 and JISX0208 charsets --enable-shiftjissupport include support for Shift-JIS encoding of JISX0201 and JISX0208 charsets --enable-unicodesupport include UNICODE (ISO-10646-1 and UTF-8 encoding) support --enable-kbdhebrewpc include keyboard layout for Hebrew PC keyboard --enable-kbdarabicpc include keyboard layout for Arabic PC keyboard --enable-kbdfrpc include keyboard layout for French PC keyboard (non-US 102 keys) --enable-kbdfr include keyboard layout for French --enable-kbdde include keyboard layout for German --enable-kbddelatin1 include keyboard layout for German Latin1 --enable-kbdit include keyboard layout for Italian --enable-kbdes include keyboard layout for Spanish --enable-kbdescp850 include keyboard layout for Spanish CP850 --enable-savebitmap include SaveBitmap-related functions --enable-pcxsupport include PCX file support --enable-lbmsupport include LBM/PBM file support --enable-tgasupport include TGA file support --enable-gifsupport include GIF file support --enable-jpgsupport include JPG file support --enable-pngsupport include PNG file support --enable-menu include menu support --enable-mousecalibrate include code doing mouse calibration --enable-aboutdlg include About Dialog Box --enable-savescreen include code for screenshots --enable-ctrlstatic include STATIC control --enable-ctrlbutton include BUTTON control --enable-ctrlsledit include Single-Line EDIT control --enable-ctrlbidisledit include Single-Line BIDI EDIT control --enable-ctrllistbox include LISTBOX control --enable-ctrlpgbar include PROGRESSBAR control --enable-ctrlnewtoolbar include NEWTOOLBAR control --enable-ctrlmenubtn include MENUBUTTON control --enable-ctrltrackbar include TRACKBAR control --enable-ctrlcombobox include COMBOBOX control --enable-ctrlpropsheet include PROPSHEET control --enable-ctrlscrollview include SCROLLVIEW and SCROLLWINDOW controls --enable-ctrltextedit include old TEXTEDIT control implementation --enable-ctrlmonthcal include MONTHCALENDAR control --enable-ctrltreeview include TREEVIEW control --enable-ctrltreeview-rdr include TREEVIEWRDR control using LFRDR --enable-ctrlspinbox include SPINBOX control --enable-ctrlcoolbar include COOLBAR control --enable-ctrllistview include LISTVIEW control --enable-ctrliconview include ICONVIEW control --enable-ctrlgridview include GRIDVIEW control(test) --enable-ctrlanimation include ANIMATION control and GIF87a/GIF89a support --enable-ctrlscrollbar include SCROLLBAR control and GIF87a/GIF89a support --enable-newtextedit include the new implementation of TEXTEDIT control --enable-videodummy include dummy NEWGAL engine --enable-videofbcon include FrameBuffer console NEWGAL engine --enable-videoqvfb include Qt Virtual FrameBuffer NEWGAL engine --enable-rtosxvfb include RTOS Virtual FrameBuffer NEWGAL engine . Note: you must disable pcxvfb, if you want to enable rtosxvfb --enable-pcxvfb include PC Virtual FrameBuffer NEWGAL engine, such as qvfb, mvfb, gvfb or wvfb --enable-videowvfb include windows Virtual FrameBuffer NEWGAL engine --enable-videocommlcd include NEWGAL engine for Common LCD --enable-videomlshadow include MLShadow NEWGAL engine --enable-videoshadow include Shadow NEWGAL engine --enable-videoem86gfx include NEWGAL engine for EM86xx GFX --enable-videoem85xxyuv include NEWGAL engine for EM85xx YUV --enable-videoem85xxosd include NEWGAL engine for EM85xx OSD --enable-videosvpxxosd include SVPXXOSD NEWGAL engine --enable-videobf533 include NEWGAL engine for BF533 OSD via SPI --enable-videomb93493 include NEWGAL engine for mb93493 YUV FrameBuffer driver --enable-videoutpmc include NEWGAL engine for UTPMC --enable-videodfb include NEWGAL engine for DirectFB --enable-videost7167 include NEWGAL engine for ST7167 --enable-videostgfb include NEWGAL engine for STGFB --enable-videohi35xx include Hi35xx Video NEWGAL engine --enable-videohi3560a include Hi3560A Video NEWGAL engine --enable-videogdl include GDL Video NEWGAL engine --enable-videosigma8654 include sigma8654 NEWGAL engine --enable-videomstar include mstar NEWGAL engine --enable-videocustom include custom NEWGAL engine --enable-videonexus include nexus NEWGAL engine --enable-videos3c6410 include s3c6410 NEWGAL engine

Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-pic try to use only PIC/non-PIC objects default=use both --with-ttfsupport=ft1/ft2/none --with-nexus-includedir=DIR Where to find header files of nexus library --with-nexus-libdir=DIR Where to find .so files of nexus library --with-osname=linux/uclinux/ecos/ucos2/swlinux/vxworks/win32/darwin/threadx/cygwin/nucleus/ose/psos --with-licensepicture=minigui/mdolphin/hybridos --with-targetname=unknown/stb810/vfanvil/vxi386/qvfb/fbcon/mx21/monaco/c33l05/bfin/vxppc/fmsoft/mstudio/ S3C6410/S3C2440/S3C2410/hi3560a --with-libsuffix=ARG Configure the suffix of MiniGUI library name. --with-ttfcachesize=64/128/256/512/1024 --with-mttfcachenum=10/20/40 --with-ft1-includes=DIR where the FreeType1 includes are --with-ft2-includes=DIR where the FreeType2 includes are

Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor /***/

出现 Going to generate license pictures ... ./configure: line 15530: ./runme.sh: No such file or directory 无视之 修改src/newgal/pcxvfb/Makefile 194行,将/usr/include去掉: INCLUDES = -I$(abs_top_srcdir)/src/include -I$(abs_top_srcdir)/include \ -I$(abs_top_srcdir)/src/newgal/ -I/usr/include/ 否则编译pcxvfb.c将出错 make&make install sudo cp -r /usr/lib/pkgconfig/ .pc 文件指定了编译生成库文件的路径,如果移动库文件必须更改 .pc文件。 /usr/lib/pkgconfig/为 pkgconfig 程序默认寻找路径

6、libmgi-2.0.4 ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux LDFLAGS=-L/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/lib CFLAGS="-I/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/include" make & make install sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/

7、minigui-res-be-3.0.12 ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux make & make install sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/ 8、mg-samples-3.0.12 ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux LDFLAGS=-L/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/lib CFLAGS="-I/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/include" {报错: dlgdemo.c:40:27: 错误:mgplus/mgplus.h:没有那个文件或目录 make[2]: [dlgdemo.o] 错误 1 make[2]: Leaving directory `/mnt/hgfs/F/mg-samples-3.0.12/ctrl_dlg' make[1]: [all-recursive] 错误 1 make[1]: Leaving directory `/mnt/hgfs/F/mg-samples-3.0.12/ctrl_dlg' make: *** [all-recursive] 错误 1 } 解决办法:vim ctrl_dlg/dlgdemo.c ,注释掉mgplus/mgplus.h make & make install

9、libmgutils-1.0.4 ./configure --prefix=$PWD/_install --host=arm-hisiv200-linux LDFLAGS=-L/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/lib CFLAGS="-I/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/include" make & make install

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
关于作者
wfjdemmye

wfjdemmye

暂无个性签名~

原创3
阅读1.8k
收藏0
点赞0
评论0
打赏用户 0
我要创作
分享技术经验,可获取创作收益
分类专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
wfjdemmye
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
¥0.1易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区