簡體   English   中英

符號查找錯誤:未定義符號:FT_Get_Font_Format

[英]symbol lookup error: undefined symbol: FT_Get_Font_Format

錯誤是

linux/FIT/fit:符號查找錯誤:linux/FIT/fit:未定義符號:FT_Get_Font_Format

這是 Android 構建的一部分。

它沒有告訴我它搜索了哪個.so

我尋找那個符號

sudo grep -F "FT_Get_Font_Format" / -r --include="*.so*"

它在一堆.so文件中。

我如何找出它正在尋找的.so文件?

它沒有告訴我它搜索了哪個 .so。

它搜索了所有加載的庫。

與 Windows 不同,UNIX 鏈接器不記錄哪個庫提供了哪個符號,並且加載器搜索所有當前加載的庫(按加載順序)以查找它需要解析的所有符號。

我搜索了那個符號sudo grep -F "FT_Get_Font_Format" / -r --include="*.so*"

該命令不區分符號的定義和引用,因此得出以下結論:

它在一堆 .so 文件中。

沒有告訴你任何有用的東西。

搜索符號定義的正確方法是:

find / -name '*.so*' -type f -print0 |
  xargs -o nm -AD | egrep ' [TDW] FT_Get_Font_Format'

或者你可以在谷歌上搜索它,發現它是 FreeType API 的一部分,應該在libfreetype.so

這個答案表明您的 freetype 版本可能太舊了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM