在编译好的FFmpeg中通过install_name_tool修改依赖关系,会出现以下错误:error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: changing install names or rpaths can't be redone for: XXX/libavfilter.6.dylib (for architecture x86_64) because larger updated load commands do not fit (the program must be relinked, and you may need to use -headerpad or -headerpad_max_install_names)
从错误描述看,这个是依赖信息长度超过了当前库设置的长度,需要重新编译FFmpeg,来指定更长的长度,当然我这边直接用-headerpad_max_install_names来设置,只有改下configure 运行参数即可。
进度FFmpeg源码目录运行configure,增加--extra-ldflags=-Wl,-headerpad_max_install_names参数即可,其他参数根据自己需要设置
./configure --prefix=build --disable-programs --disable-sdl2 --disable-static --disable-debug --enable-shared --disable-x86asm --cc=clang --extra-ldflags=-Wl,-headerpad_max_install_names
make
make install