[英]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.