【发布时间】:2015-12-30 03:01:08
【问题描述】:
这是我的错误:(ffmpeg 的较新版本)
dyld: Library not loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
Referenced from: /Users/me/path/to/lib/libavcodec.dylib
Reason: Incompatible library version: libavcodec.dylib requires version 64.0.0 or later, but ApplicationServices provides version 1.0.0
我已经阅读了关于 SO 的问题,这些问题说您需要链接 ApplicationServices.framework... 我已经完成了,这没有区别...
我已经搜索过该框架的其他版本:
$ mdfind ApplicationServices.framework
/System/Library/Frameworks/ApplicationServices.framework
只有一个……
然后检查框架...
$ otool -L /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices:
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 48.0.0)
/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
...
和 libavcodec
otool -L ../lib/libavcodec.dylib
../lib/libavcodec.dylib:
libavcodec.dylib (compatibility version 56.0.0, current version 56.60.100)
@loader_path/libswresample.dylib (compatibility version 1.0.0, current version ...
...
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 64.0.0, current version 600.0.0)
我正在使用-mmacosx-version-min=10.7 编译所有内容
所以可能是工具链中的错误?
编译器:
clang -v
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.2.0
Thread model: posix
链接器:
ld -v
@(#)PROGRAM:ld PROJECT:ld64-253.9
configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em (tvOS)
LTO support using: Apple LLVM 7.0.2 (clang-700.1.81)
【问题讨论】:
标签: ffmpeg linker clang ld osx-elcapitan