问题是关于针对libavcodec,libavdevice等静态链接x86_64 macOS可执行文件,这些文件具有针对独立构建的一些目标文件,因为它们使用YASM,而无法将macOS“标签”嵌入二进制文件中(请参阅{{ 3}},以获取有关该问题的详细信息。
一切都在Xcode 11.6下正常运行-此处显示以下消息,但它们是警告。 借助Xcode 12更新,它们将成为错误。 如何再次发出警告?我在ld手册页中找不到任何相关内容。
ld:在ffmpeg / lib / libavcodec.a(aacencdsp.o)中,针对macOS构建,但链接到为独立安装而构建的目标文件,针对架构x86_64
答案 0 :(得分:2)
我没有找到将错误还原为警告的选项。 Apple已经在一些XCode版本中警告我们有关此问题的信息,该警告已成为错误。
在修改NASM之前,或者我们可以使用其他一些汇编程序,允许我针对应用程序中的libav库进行构建和链接的唯一选项是在编译ffmpeg时禁用汇编程序。
./configure --disable-asm
这对我来说很有效,因为在我的桌面创作工具中可以接受非汇编代码路径的性能。基于服务器的渲染器仍然是基于Linux的汇编代码路径。
您可能必须配置要包含在ffmpeg构建中的所有库,以也禁用程序集。
再一次,对于我的情况,这是可以接受的解决方案,因为非汇编代码路径对于我的用例而言足够快。