1.在lvgl下使用freetype显示字体,lvgl是移植成功了,只要基于framebuffer 就可以
git clone https://github.com/lvgl/lv_port_linux_frame_buffer
git submodule update --init --recursive。
只需要修改Makefile里面的CC就可:
# CC ?= gcc
CC = /home/ubuntu/nano/buildroot-2021.02.4/output/host/bin/arm-linux-gcc
2.需要在lvgl中加入freetype字体
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.10.1.tar.gz
tar xvfz freetype-2.10.1.tar.gz
cd freetype-2.10.1
//安装目录为当前目录下的lib,不需要依赖zlib和png库
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux --prefix=$PWD/lib --with-zlib=no --with-png=no
make
make install
同时在Makefile中加入
LDFLAGS ?= -lm -lfreetype
移植过程也是参考了网上一位前辈的:
lv_lib
└── lv_lib_freetype
├── arial.ttf
├── freetype
│ ├── config
│ │ ├── ftconfig.h
│ │ ├── ftheader.h
│ │ ├── ftmodule.h
│ │ ├── ftoption.h
│ │ ├── ftstdlib.h
│ │ ├── integer-types.h
│ │ ├── mac-support.h
│ │ └── public-macros.h
│ ├── freetype.h
│ ├── ftadvanc.h
│ ├── ftbbox.h
│ ├── ftbdf.h
│ ├── ftbitmap.h
│ ├── ftbzip2.h
│ ├── ftcache.h
│ ├── ftchapters.h
│ ├── ftcid.h
│ ├── ftcolor.h
│ ├── ftdriver.h
│ ├── fterrdef.h
│ ├── fterrors.h
│ ├── ftfntfmt.h
│ ├── ftgasp.h
│ ├── ftglyph.h
│ ├── ftgxval.h
│ ├── ftgzip.h
│ ├── ftimage.h
│ ├── ftincrem.h
│ ├── ftlcdfil.h
│ ├── ftlist.h
│ ├── ftlogging.h
│ ├── ftlzw.h
│ ├── ftmac.h
│ ├── ftmm.h
│ ├── ftmodapi.h
│ ├── ftmoderr.h
│ ├── ftotval.h
│ ├── ftoutln.h
│ ├── ftparams.h
│ ├── ftpfr.h
│ ├── ftrender.h
│ ├── ftsizes.h
│ ├── ftsnames.h
│ ├── ftstroke.h
│ ├── ftsynth.h
│ ├── ftsystem.h
│ ├── fttrigon.h
│ ├── fttypes.h
│ ├── ftwinfnt.h
│ ├── otsvg.h
│ ├── t1tables.h
│ ├── ttnameid.h
│ ├── tttables.h
│ └── tttags.h
├── ft2build.h
├── lv_freetype.c
├── lv_freetype.h
└── lv_lib_freetype.mk
其中lv_lib_freetype.mk的内容如下:
LV_LIB_FREETYPE_DIR_NAME ?= lv_lib_freetype
CSRCS += lv_freetype.c
DEPPATH += --dep-path $(LVGL_DIR)/lv_lib/$(LV_LIB_FREETYPE_DIR_NAME)
VPATH += :$(LVGL_DIR)/lv_lib/$(LV_LIB_FREETYPE_DIR_NAME)
CFLAGS += "-I$(LVGL_DIR)/lv_lib/$(LV_LIB_FREETYPE_DIR_NAME)"
CFLAGS += "-I$(LVGL_DIR)/lv_lib/$(LV_LIB_FREETYPE_DIR_NAME)/freetype"
编译成功了但是运行出错了
# ./demo
-sh: ./demo: not found
# ./demo
# ldd demo
checking sub- depends for ' /lib/l ibfreetype. so.6
checking sub- dependsfo r/lib/ l ibc. so
checking sub- dependsfor ' /lib/libc.so.6'
/lib/ld-linux. so.3 ( 0xb6f 1a000 )
libfreetype.so.6 =>/l ib/libfreetype.so.6 (libc.so => /lib/l ibc.so ( 0x00000000 )
libc,so,6 => /lib/libc.so.6 ( 0x00000000 )
/lib/ld-linux.so.3 => /lib/ld-linux.so.3 (0
需要已经成功移植的大神帮忙指点一下,非常感谢
lv_port_linux_frame_buffer.tar.gz.zip
最近编辑记录 达子666 (2022-09-14 11:34:33)
离线
buildroot 的 make menuconfig 直接勾选 freetype 呢?
这个没有,也不懂再哪里勾,buildroot有这个选项嘛
离线
达子666 说:哇酷小二 说:buildroot 的 make menuconfig 直接勾选 freetype 呢?
这个没有,也不懂再哪里勾,buildroot有这个选项嘛
搜索一下啊,menuconfig界面可以搜索,我记得好像是按/ 搜索
确实是有一个freetype选项:
离线
buildroot 的 make menuconfig 直接勾选 freetype 呢?
我今天试了一下,勾选上buildroot里面的freetype但是还是无法运行
离线
lv_port_linux_frame_buffer.tar.gz.zip
这个文件是移植了lvgl的freetype的版本
离线
参考网上例程,做了一个用libfreetype解析微软雅黑msyh.ttf文件的demo
https://whycan.com/t_741.html看下这个能不能跑。
这个没明白怎么跑,小白
离线
感谢分享,楼主位只要把库文件加上就行了。
离线