osx - WebRTC链接问题

时间:2016-01-20 16:09:39

标签: xcode macos webrtc ninja

我试图将WebRTC集成到一个OSX桌面应用程序中,当我尝试链接webRTC库时,我遇到了一些错误。问题是:

Undefined symbols for architecture x86_64:
  "_AVMediaTypeMuxed", referenced from:
  cricket::GetAVFoundationVideoDevices(std::vector<cricket::Device, std::allocator<cricket::Device> >*) in libWebRTC-arm64-debug.a(libjingle_media.macdevicemanagermm.o)

这告诉我,我没有在libjingle_media.a中定义这个符号,根据它是真的:

$ nm libjingle_media.a | grep _AVMediaTypeMuxed
warning: /Applications/Xcode64.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/nm: no name list
             U _AVMediaTypeMuxed

我使用这个标志构建了WebRTC:

GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1 OS=mac target_arch=x64"
GYP_GENERATORS="ninja"
GYP_GENERATOR_FLAGS="$GYP_GENERATOR_FLAGS output_dir=out_mac"

当然还有 ninja ,之前正在运行gclient runhooks。关于这件事发生了什么?

1 个答案:

答案 0 :(得分:0)

要解决此问题,您需要使用实现该函数的特定框架,在本例中为名为AVFoundation的框架