miniGUI移植大致流程

移植过程大致如下(由于存在依赖关系,顺序不能错):

–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 customers 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 (8×8) font

–enable-rbfterminal include incore RBF font of ISO8859-1 Terminal (8×12) font

–enable-rbffixedsys include incore RBF font of ISO8859-1 FixedSys (8×15) font

–enable-vbfsupport include var bitmap font support

–enable-fontsserif include incore font SansSerif (11×13)

–enable-fontcourier include incore font Courier (8×13)

–enable-fontsystem include incore font System (14×16)

–enable-upfsupport build support for FMSOfts Unicode Prerendered Font (UPF)

–enable-fonttimes include incore Times UPF fonts (12×10 and 17×14)

–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

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:miniGUI移植大致流程 https://www.yhzz.com.cn/a/17479.html

上一篇 2023-05-21 14:17:03
下一篇 2023-05-21 14:55:10

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。