交叉编译MiniGUI核心库,添加freetype库支持时,提示FT_Library_Version in -lfreetype失败...

  项目中的界面使用MiniGUI绘制,MiniGUI各个库均使用的是官网上的最新版本。核心库版本号为libminigui-gpl-3.0.12,freetype库版本号为2.3.9。

  在本地模拟器上使用,只需要make ,make install就可以了。移植到开发板上,需要修改configure文件,使用arm-linux-gcc编译。

  最开始使用的是MiniGUI默认的RBF,VBF这些字体。在使用过程中发现MiniGUI中这些字库文件只有12,24号等这些特定的字库。想要修改字体大小必须去做字库文件。当然也可以对字体进行缩放处理,但是这样的话字体的显示效果不佳。发现其实MiniGUI支持矢量字体,只需要在核心库中添加freetype库支持就可以了。在本地模块器上马上就可以使用矢量字体了。但是在交叉编译的核心库中添加freetype支持时出问题了。在libminigui-gpl-3.0.12中执行./configure  --prefix=/usr/local/arm  --host=arm-linux --target=arm-linux --build=i386-linux --with-osname=linux --with-targetname=fbcon --enable-autoial --disable-vbfsupport --enable-screensaver=no --enable-splash=no --enable-ttfcache --with-ttfsupport=ft2

  

checking build system type... i386-pc-linux-gnu
checking host system type... arm-unknown-linux-gnu
checking target system type... arm-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-linux-strip... arm-linux-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for arm-linux-gcc... arm-linux-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether arm-linux-gcc accepts -g... yes
checking for arm-linux-gcc option to accept ISO C89... none needed
checking dependency style of arm-linux-gcc... gcc3
checking for ld used by GCC... arm-linux-ld
checking if the linker (arm-linux-ld) is GNU ld... yes
checking for arm-linux-ld option to reload object files... -r
checking for BSD-compatible nm... /home/yyh/workspace/toolchain/pnx8181/bin/arm-linux-nm -B
checking for a sed that does not truncate output... /bin/sed
checking whether ln -s works... yes
checking how to recognise dependent libraries... file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )
checking command to parse /home/yyh/workspace/toolchain/pnx8181/bin/arm-linux-nm -B output... ok
checking how to run the C preprocessor... arm-linux-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for arm-linux-file... no
checking for file... /usr/bin/file
checking for arm-linux-ranlib... arm-linux-ranlib
checking for arm-linux-strip... (cached) arm-linux-strip
checking for objdir... .libs
checking for arm-linux-gcc option to produce PIC... -fPIC
checking if arm-linux-gcc PIC flag -fPIC works... yes
checking if arm-linux-gcc static flag -static works... yes
checking if arm-linux-gcc supports -c -o file.o... yes
checking if arm-linux-gcc supports -c -o file.lo... yes
checking if arm-linux-gcc supports -fno-rtti -fno-exceptions... no
checking whether the linker (arm-linux-ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether -lc should be explicitly linked in... no
creating libtool
checking for arm-linux-gcc... (cached) arm-linux-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether arm-linux-gcc accepts -g... (cached) yes
checking for arm-linux-gcc option to accept ISO C89... (cached) none needed
checking dependency style of arm-linux-gcc... (cached) gcc3
checking for ld used by GCC... (cached) arm-linux-ld
checking if the linker (arm-linux-ld) is GNU ld... (cached) yes
checking for arm-linux-ranlib... (cached) arm-linux-ranlib
checking whether ln -s works... yes
checking whether make sets $(MAKE)... (cached) yes
checking for ANSI C header files... (cached) yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking termio.h usability... yes
checking termio.h presence... yes
checking for termio.h... yes
checking for unistd.h... (cached) yes
checking math.h usability... yes
checking math.h presence... yes
checking for math.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for working alloca.h... yes
checking for alloca... yes
checking for working memcmp... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... yes
checking for getpagesize... yes
checking for working mmap... no
checking for vprintf... yes
checking for _doprnt... no
checking for time... yes
checking for mktime... yes
checking for localtime... yes
checking for strdup... yes
checking for strcasecmp... yes
checking for strncasecmp... yes
checking for strerror... yes
checking for setlocale... yes
checking for getpt... yes
checking for FT_Library_Version in -lfreetype... no
checking for FrameBuffer console support... yes
checking for pci_system_init in -lpciaccess... no
checking for pthread library... yes
checking for jpeg_std_error in -ljpeg... yes
checking for png_check_sig in -lpng... yes
checking for pow in -lm... yes
configure: creating ./config.status
config.status: creating minigui.pc
config.status: creating Makefile
config.status: creating cmake/Makefile
config.status: creating src/Makefile
config.status: creating src/control/Makefile
config.status: creating src/ex_ctrl/Makefile
config.status: creating src/font/Makefile
config.status: creating src/font/in-core/Makefile
config.status: creating src/newgal/Makefile
config.status: creating src/newgal/fbcon/Makefile
config.status: creating src/newgal/qvfb/Makefile
config.status: creating src/newgal/pcxvfb/Makefile
config.status: creating src/newgal/wvfb/Makefile
config.status: creating src/newgal/commlcd/Makefile
config.status: creating src/newgal/shadow/Makefile
config.status: creating src/newgal/mlshadow/Makefile
config.status: creating src/newgal/em86gfx/Makefile
config.status: creating src/newgal/em85xxyuv/Makefile
config.status: creating src/newgal/em85xxosd/Makefile
config.status: creating src/newgal/dummy/Makefile
config.status: creating src/newgal/svpxxosd/Makefile
config.status: creating src/newgal/bf533/Makefile
config.status: creating src/newgal/mb93493/Makefile
config.status: creating src/newgal/utpmc/Makefile
config.status: creating src/newgal/dfb/Makefile
config.status: creating src/newgal/hisi/Makefile
config.status: creating src/newgal/rtos_xvfb/Makefile
config.status: creating src/newgal/nexus/Makefile
config.status: creating src/newgal/s3c6410/Makefile
config.status: creating src/newgal/sigma8654/Makefile
config.status: creating src/newgal/mstar/Makefile
config.status: creating src/newgal/gdl/Makefile
config.status: creating src/newgal/stgfb/Makefile
config.status: creating src/ial/Makefile
config.status: creating src/ial/native/Makefile
config.status: creating src/ial/netial/Makefile
config.status: creating src/ial/nexusial/Makefile
config.status: creating src/ial/dlcustom/Makefile
config.status: creating src/mybmp/Makefile
config.status: creating src/newgdi/Makefile
config.status: creating src/gui/Makefile
config.status: creating src/libc/Makefile
config.status: creating src/misc/Makefile
config.status: creating src/main/Makefile
config.status: creating src/kernel/Makefile
config.status: creating src/server/Makefile
config.status: creating src/client/Makefile
config.status: creating src/standalone/Makefile
config.status: creating src/sysres/Makefile
config.status: creating src/sysres/bmp/Makefile
config.status: creating src/sysres/icon/Makefile
config.status: creating src/sysres/font/Makefile
config.status: creating src/sysres/cursor/Makefile
config.status: creating src/sysres/license/Makefile
config.status: creating src/sysres/license/c_files/Makefile
config.status: creating src/include/Makefile
config.status: creating src/textedit/Makefile
config.status: creating include/Makefile
config.status: creating include/ctrl/Makefile
config.status: creating rtos/Makefile
config.status: creating etc/Makefile
config.status: creating 3rd-party/Makefile
config.status: creating 3rd-party/scripteasy/Makefile
config.status: creating m4/Makefile
config.status: creating build/Makefile
config.status: creating mgconfig.h
config.status: mgconfig.h is unchanged
config.status: executing depfiles commands

Going to generate license pictures ...
./configure: line 15537: ./runme.sh: No such file or directory
WARNING: failed to generate license pictures.

  上面红色加粗的这行显示检测本地的freetype库版本失败。估计是检测到了PC上直接编译的freetype库,而不是交叉编译的freetype库。vi mgconfig.h可以看到MiniGUI中矢量字体有关的宏定义没有打开。http://hi.baidu.com/kkernel/item/2da7f329700e45fd51fd874c这篇文章中提到了类似的问题,configure中很多检测项其实只是例行检测而已,我们只需要让这个检查通过,打开与freetype相关的宏定义开关就可以了。

1.echo ac_cv_lib_freetype_FT_Library_Version=yes>arm-linux.cache
2../configure --cache-file=arm-linux.cache

  类似的,将版本检测结果写入arm-linux-cache,再执行configure指令,进行交叉编译,搞定。

转载于:https://www.cnblogs.com/yyh325/p/3419153.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值