当在msys32 配合 mingw环境下编译 ffmpeg时,编译 fontconfig遇到错误:
/fc-cache/fc-cache.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory
config配置如下: 可以看到已经把 shared 选项关闭,此时不会生成dll.
./configure --prefix=$BUILD_PATH --disable-docs --disable-shared --enable-static
FIX: 根据错误提示找到
@(if $(RUN_FC_CACHE_TEST); then \
echo "fc-cache$(EXEEXT) -s -f -v"; \
fc-cache/fc-cache$(EXEEXT) -s -f -v; \ // 这里出错, 根据 变量名可知 RUN_FC_CACHE_TEST 只是一个测试和编译ffmpeg 没关系
else
所以将 直接在 fontconfig makefile中搜索 RUN_FC_CACHE_TEST 然后.
RUN_FC_CACHE_TEST = test -z "$(DESTDIR)"
#RUN_FC_CACHE_TEST = false
改为:
#RUN_FC_CACHE_TEST = test -z "$(DESTDIR)"
RUN_FC_CACHE_TEST = false // 这里开启
然后在执行make, 此时不能执行configure, 因为configure会重写 makefile.