移植过程大致如下(由于存在依赖关系,顺序不能错):
–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-stripsource /etc/profile
export CC=arm-hisiv200-linux-gcc CXX=arm-hisiv200-linux-g++ LD=arm-hisiv200-linux-ld AR=arm-hisiv200-linux-ar1、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 namesSystem 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 engineOptional 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 areSome 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 install9、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