Err:undefined symbol:FT_Done_MM_Var
import cv2
ImportError:... .../anaconda3/envs/... .../lib/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var
原因
undefined symbol: FT_Done_MM_Var
错误的原因,libfontconfig.so.1
造成。其根本原因是,Anaconda的 lib 中,把 Python需要的各种 lib 单独列了出来,造成和系统中的库版本不一致。
系统库所在位置:/usr/lib/x86_64-linux-gnu/
,opencv 的 Python版本是按照系统库编译的,而在调用时,使用了 anaconda/lib
中的库。
解决思路
- 为
libfontconfig.so.1
建立新的连接,指向系统库目录下的libfontconfig.so.1
。 - 直接复制系统库目录下的
libfontconfig.so.1
文件,替换 Anaconda目录下的libfontconfig.so.1
但是cp new.so old.so
的方式替换程序使用的动态库文件会