Search code examples
xcodemacoswebrtcninja

osx - WebRTC linkage issue


I'm trying to integrate WebRTC in one OSX Desktop application and I'm getting some errors when I try to link with webRTC library. The issue is:

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)

This tell me that I have not defined this symbol in my libjingle_media.a, wich is true according with it:

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

I have built WebRTC using this flags:

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"

and of course with ninja, running previously gclient runhooks. Any idea about what is happening with this?


Solution

  • To solve this issue, you need to use a particular framework that implements the function, in this case a framework called AVFoundation