我正在使用以下库连接到 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 只会构建事件架构。所以这意味着如果您在 64 位设备或模拟器上进行测试,Xcode 将尝试构建 64 位二进制文件,这将与您的 32 位库不兼容。
关于architecture - MediaLibsDemo 缺少架构 x86_64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20947917/