我正在使用以下库来连接到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)

最佳答案

您正在使用的库似乎不是为64位体系结构构建的。如果确实如此,则需要将Xcode配置为仅针对32位进行构建(假设您无法获得64位版本):

  • 在目标构 build 置中指定有效架构,以排除64位(arm64)
  • Build Active Architecture Only设置为NO(调试时)


  • 默认情况下,在调试时,Xcode将仅构建 Activity 架构。因此,这意味着如果您要在64位设备或模拟器上进行测试,则Xcode将尝试构建64位二进制文​​件,该二进制文件与您的32位库不兼容。

    关于architecture - MediaLibsDemo缺少架构x86_64,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20947917/

    10-11 15:39