MediaLibsDemo缺少x86_64架构。

3

我正在使用以下库连接到Red5服务器。 https://github.com/slavavdovichenko/MediaLibDemos。 它给了我以下错误。如何将缺失的架构添加到以下文件中?或者有其他解决方案吗?

on implementing it, I am getting the following error.
ld: warning: ignoring file /private/var/root/Documents/RTMP/RTMP/lib/libav-
v9.1965/lib/libavutil.a, missing required architecture x86_64 in file   
/private/var/root/Documents/RTMP/RTMP/lib/libav-v9.1965/lib/libavutil.a (2 slices)
ld: warning: ignoring file /private/var/root/Documents/RTMP/RTMP/lib/libav-
v9.1965/lib/libavdevice.a, missing required architecture x86_64 in file
/private/var/root/Documents/RTMP/RTMP/lib/libav-v9.1965/lib/libavdevice.a (2 slices)
ld: warning: ignoring file /private/var/root/Documents/RTMP/RTMP/lib/libav-
v9.1965/lib/libswscale.a, missing required architecture x86_64 in file  
/private/var/root/Documents/RTMP/RTMP/lib/libav-v9.1965/lib/libswscale.a (2 slices)
ld: warning: ignoring file /private/var/root/Documents/RTMP/RTMP/lib/libav-
v9.1965/lib/libavformat.a, missing required architecture x86_64 in file 
/private/var/root/Documents/RTMP/RTMP/lib/libav-v9.1965/lib/libavformat.a (2 slices)
ld: warning: ignoring file /private/var/root/Documents/RTMP/RTMP/lib/libav-
v9.1965/lib/libavcodec.a, missing required architecture x86_64 in file 
/private/var/root/Documents/RTMP/RTMP/lib/libav-v9.1965/lib/libavcodec.a (2 slices)
ld: warning: ignoring file /private/var/root/Documents/RTMP/RTMP/lib/libav-
v9.1965/lib/libavfilter.a, missing required architecture x86_64 in file 
/private/var/root/Documents/RTMP/RTMP/lib/libav-v9.1965/lib/libavfilter.a (2 slices)
ld: warning: ignoring file /var/root/Documents/RTMP/RTMP/lib/MediaLibiOS/MediaLibiOS.a, 
missing required architecture x86_64 in file
/var/root/Documents/RTMP/RTMP/lib/MediaLibiOS/MediaLibiOS.a (3 slices)
ld: warning: ignoring file /private/var/root/Documents/RTMP/RTMP/lib/libav- 
v9.1965/lib/libavresample.a, missing required architecture x86_64 in file  
/private/var/root/Documents/RTMP/RTMP/lib/libav-v9.1965/lib/libavresample.a (2 slices)
ld: warning: ignoring file /var/root/Documents/RTMP/RTMP/lib/CommLibiOS/CommLibiOS.a, 
missing required architecture x86_64 in    
file/var/root/Documents/RTMP/RTMP/lib/CommLibiOS/CommLibiOS.a (4 slices)

Undefined symbols for architecture x86_64:
 "_OBJC_CLASS_$_BroadcastStreamClient", referenced from:
    objc-class-ref in ViewController.o
 "_OBJC_CLASS_$_RTMPClient", referenced from:
    objc-class-ref in ViewController.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

找到任何解决方案了吗?如果有,请在这里发布,以便帮助其他人。 :) - S.Philip
我曾联系过他们的支持团队,他们回复了新版本。 - user2955351
1个回答

1
似乎你使用的库不支持 64 位架构。如果是这种情况,你需要配置 Xcode 只编译 32 位版本(假设你无法获取 64 位版本):
  1. 在目标构建设置中指定有效架构以排除 64 位(arm64)
  2. Build Active Architecture Only 设置为 NO(调试时)

enter image description here

默认情况下,调试时Xcode只会构建活动架构。这意味着如果您在64位设备或模拟器上进行测试,Xcode将尝试构建一个64位二进制文件,这将与您的32位库不兼容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接