본문 바로가기

trouble shooting

ARM기기 lvgl환경 내 freetype(3rd lib) 설치 및 환경 설정

lvgl 공식문서 freetype 추가하는 순서

  1. make
  2. sudo make install
  3. include 경로 추가
  4. 라이브러리 경로 추가, 라이브러리 링크

FreeType 다운로드

다운로드 URL : https://sourceforge.net/projects/freetype/files/

빌드

make #동적 라이브러리 생성

빌드에 필요한 파일 존재하지 안는다는 에러가 발생!

빌드 환경 셋팅

cd builds/unix
./configure —host=arm-linux #ARM 기반 환경을 빌드하기 위해 옵션 추가

동적 라이브러리 경로 설정

특정 버전 동적 라이브러리(libfreetype.so.6)

버전 별로 존재하는 라이브러리입니다. 해당 동적 라이브러리는 런타임 환경에서 사용되기 때문에 타겟 기기에 동적 라이브러리를 위치 시키고 위치를 기반으로 경로 설정을 해주어야 합니다.

Error loading shared library libfreetype.so.6: No such file or directory (needed by ./lvgl_test)
Error relocating ./lvgl_test: FT_Done_Face: symbol not found
Error relocating ./lvgl_test: FT_Outline_Embolden: symbol not found
Error relocating ./lvgl_test: FT_Set_Transform: symbol not found
Error relocating ./lvgl_test: FT_MulFix: symbol not found
Error relocating ./lvgl_test: FT_Get_Char_Index: symbol not found
Error relocating ./lvgl_test: FT_Render_Glyph: symbol not found
Error relocating ./lvgl_test: FT_Set_Pixel_Sizes: symbol not found
Error relocating ./lvgl_test: FT_Get_Glyph: symbol not found
Error relocating ./lvgl_test: FT_Done_Glyph: symbol not found
Error relocating ./lvgl_test: FT_Outline_Decompose: symbol not found
Error relocating ./lvgl_test: FT_Load_Glyph: symbol not found
Error relocating ./lvgl_test: FT_Done_FreeType: symbol not found
Error relocating ./lvgl_test: FT_Init_FreeType: symbol not found
Error relocating ./lvgl_test: FT_New_Face: symbol not found

include, library 경로 설정, 동적 라이브러리 경로 설정

...
LFLAGS      = -lpthread -fPIC -L/usr/local/lib -lfreetype -Wl,-rpath=.
...

...
INCPATH 	+= -I./freetype/include
...

-L/usr/local/lib : 링커에게 라이브러리를 찾을 경로를 지정

-lfreetype : 전달한 경로를 기반으로 찾을 동적라이브러리 지정

-Wl : 컴파일러에게 특정 옵션을 링커에 직접 전달하도록 지시

-rpath=. : 실행 파일이 실행될 때 동적 라이브러리를 찾을 런타임 검색 경로를 설정

-I./freetype/include : 컴파일러에게 헤더 파일을 찾을 경로를 지정

sudo make install

 

참고

https://docs.lvgl.io/9.1/libs/freetype.html

 

FreeType support — LVGL documentation

© Copyright 2024, LVGL Kft. Last updated on Aug 21, 2024.

docs.lvgl.io