mpromonet / webrtc-streamer

WebRTC streamer for V4L2 capture devices, RTSP sources and Screen Capture
https://webrtcstreamer.agreeabletree-365b9a90.canadacentral.azurecontainerapps.io/?layout=2x2
The Unlicense
2.83k stars 582 forks source link

error: cannot use ‘typeid’ with ‘-fno-rtti’ #589

Closed iqbal-h closed 6 months ago

iqbal-h commented 1 year ago

Describe the bug and Steps to reproduce I want to add some code in desktopcapturer.cc that requires Torch, TorchVision, and OpenCV. So I added the necessary header.h and code.cc file in webrtc-streamer/inc and ../src Then I modified the CMakeList.txt. After the following existing code of the CMakeList.txt:

# webrtc 
set (WEBRTCINCLUDE ${WEBRTCROOT}/src ${WEBRTCROOT}/src/third_party/abseil-cpp ${WEBRTCROOT}/src/third_party/jsoncpp/source/include  ${WEBRTCROOT}/src/third_party/jsoncpp/generated ${WEBRTCROOT}/src/third_party/libyuv/include)
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${WEBRTCINCLUDE})
FILE(GLOB_RECURSE LIBWEBRTC ${WEBRTCOBJS}/${CMAKE_STATIC_LIBRARY_PREFIX}*${CMAKE_STATIC_LIBRARY_SUFFIX})
target_link_libraries (${CMAKE_PROJECT_NAME} ${WEBRTCOBJS}/rtc_base/${CMAKE_STATIC_LIBRARY_PREFIX}rtc_json${CMAKE_STATIC_LIBRARY_SUFFIX} ${LIBWEBRTC}) 
add_definitions(-DHAVE_JPEG)

I added the following lines:

# find Torch, OpenCV, and TorchVision
find_package(Torch REQUIRED)
find_package(OpenCV REQUIRED)
find_package(TorchVision REQUIRED)

# include their directories
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE ${TORCH_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ${TorchVision_INCLUDE_DIRS})

# link them to your target
target_link_libraries(${CMAKE_PROJECT_NAME} ${TORCH_LIBRARIES} ${OpenCV_LIBS} ${TorchVision_LIBRARIES})

The following errors occur: Screenshot from 2023-05-11 12-53-24 and Screenshot from 2023-05-11 12-54-49

It seems that OpenCV and Torch were not happy with the presence of -fno-rttiflag in the CMakeList.txt in the following two places:

elseif (APPLE)
...
    add_definitions(-DWEBRTC_MAC -DWEBRTC_POSIX -fno-rtti)
   ...
else()
    # libv4l2cpp
    ...
    # webrtc
    add_definitions(-DWEBRTC_POSIX -fno-rtti)
    ...

So I removed this flag from the add_definitions and ran make. There previous errors were sorted but now I have the following error:

Screenshot from 2023-05-11 13-52-05

I understand this problem is not directly related to webrtc-streamer. However, most expertise on the subject exists with the contributors in this repo. I would really appreciate the help. Thank you.

Expected behavior Make should successfully create ./webrtc-streamer executable

Desktop (please complete the following information):

mpromonet commented 1 year ago

Hi,

You might try to run gn gen with use_rtti=true and remove the -fno-rtti

Best Regards, Michel.

iqbal-h commented 1 year ago

Hi,

Thanks. To try this clean. I removed my code and additions in CMakeList.txt and restored webrtc-streamer as it is. Then I removed the -fno-rtti from the following:

elseif (APPLE)
...
    #add_definitions(-DWEBRTC_MAC -DWEBRTC_POSIX -fno-rtti)
   add_definitions(-DWEBRTC_MAC -DWEBRTC_POSIX)
   ...
else()
    # libv4l2cpp
    ...
    # webrtc
    #add_definitions(-DWEBRTC_POSIX -fno-rtti)
   add_definitions(-DWEBRTC_POSIX)
    ...

and edited line 118 of CMakeLists.txt as follows:

EXECUTE_PROCESS(WORKING_DIRECTORY ${WEBRTCROOT}/src/out/${CMAKE_BUILD_TYPE} COMMAND ${SHELLCOMMAND} gn gen . --args=use_rtti=true)

cmake . worked fine. make reached 100% but then generated following errors. I am just pasting few of them below for reference.

Any thoughts?

Another solution I am thinking is to make a static library of the Torch and Open CV code say myLib.a and then add this library to CMakeLists.txt and simply do the myLib::function calls in desktopcapturer.cpp. Will this work or building even this result in similar issues?

/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/HttpServerRequestHandler.cpp.o: in function `RequestHandler::handle(CivetServer*, mg_connection*)':
HttpServerRequestHandler.cpp:(.text._ZN14RequestHandler6handleEP11CivetServerP13mg_connection[_ZN14RequestHandler6handleEP11CivetServerP13mg_connection]+0x2f8): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: HttpServerRequestHandler.cpp:(.text._ZN14RequestHandler6handleEP11CivetServerP13mg_connection[_ZN14RequestHandler6handleEP11CivetServerP13mg_connection]+0x4c4): undefined reference to `Json::writeString[abi:cxx11](Json::StreamWriter::Factory const&, Json::Value const&)'
/usr/bin/ld: HttpServerRequestHandler.cpp:(.text._ZN14RequestHandler6handleEP11CivetServerP13mg_connection[_ZN14RequestHandler6handleEP11CivetServerP13mg_connection]+0x620): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/HttpServerRequestHandler.cpp.o: in function `WebsocketHandler::handleData(CivetServer*, mg_connection*, int, char*, unsigned long)':
HttpServerRequestHandler.cpp:(.text._ZN16WebsocketHandler10handleDataEP11CivetServerP13mg_connectioniPcm[_ZN16WebsocketHandler10handleDataEP11CivetServerP13mg_connectioniPcm]+0x133): undefined reference to `Json::writeString[abi:cxx11](Json::StreamWriter::Factory const&, Json::Value const&)'
/usr/bin/ld: HttpServerRequestHandler.cpp:(.text._ZN16WebsocketHandler10handleDataEP11CivetServerP13mg_connectioniPcm[_ZN16WebsocketHandler10handleDataEP11CivetServerP13mg_connectioniPcm]+0x201): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: HttpServerRequestHandler.cpp:(.text._ZN16WebsocketHandler10handleDataEP11CivetServerP13mg_connectioniPcm[_ZN16WebsocketHandler10handleDataEP11CivetServerP13mg_connectioniPcm]+0x419): undefined reference to `Json::writeString[abi:cxx11](Json::StreamWriter::Factory const&, Json::Value const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::getStreamList()':
PeerConnectionManager.cpp:(.text+0x1fb5): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::PeerConnectionObserver::OnIceCandidate(webrtc::IceCandidateInterface const*)':
PeerConnectionManager.cpp:(.text+0x2465): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x24ee): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::getPeerConnectionList()':
PeerConnectionManager.cpp:(.text+0x2d63): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x2ed4): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x2f6c): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x30e4): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x317b): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x3293): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x33a6): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x348f): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `CreateEncoderFactory(bool)':
PeerConnectionManager.cpp:(.text+0x3abc): undefined reference to `webrtc::SdpVideoFormat::SdpVideoFormat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `CreateDecoderFactory(bool)':
PeerConnectionManager.cpp:(.text+0x3d9c): undefined reference to `webrtc::SdpVideoFormat::SdpVideoFormat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `std::_Function_handler<std::tuple<int, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, Json::Value> (mg_request_info const*, Json::Value const&), PeerConnectionManager::PeerConnectionManager(std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, Json::Value const&, webrtc::AudioDeviceModule::AudioLayer, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, int)::{lambda(mg_request_info const*, Json::Value const&)#17}>::_M_invoke(std::_Any_data const&, mg_request_info const*&&, Json::Value const&)':
PeerConnectionManager.cpp:(.text+0x4514): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::CreateAudioSource(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
PeerConnectionManager.cpp:(.text+0x6760): undefined reference to `Json::Value::isMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x6917): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x6933): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::getIceServers(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
PeerConnectionManager.cpp:(.text+0x72ff): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x7356): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x74bc): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::setAnswer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Json::Value const&)':
PeerConnectionManager.cpp:(.text+0x7edb): undefined reference to `Json::operator<<(std::ostream&, Json::Value const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x80fa): undefined reference to `rtc::GetStringFromJsonObject(Json::Value const&, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x8127): undefined reference to `rtc::GetStringFromJsonObject(Json::Value const&, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x821d): undefined reference to `webrtc::CreateSessionDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, webrtc::SdpParseError*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x8633): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x868a): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::addIceCandidate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Json::Value const&)':
PeerConnectionManager.cpp:(.text+0x8c11): undefined reference to `rtc::GetStringFromJsonObject(Json::Value const&, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x8c2e): undefined reference to `rtc::GetIntFromJsonObject(Json::Value const&, std::basic_string_view<char, std::char_traits<char> >, int*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x8d0a): undefined reference to `Json::operator<<(std::ostream&, Json::Value const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x8f00): undefined reference to `rtc::GetStringFromJsonObject(Json::Value const&, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x8f1b): undefined reference to `webrtc::CreateIceCandidate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, webrtc::SdpParseError*)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::getAudioDeviceList()':
PeerConnectionManager.cpp:(.text+0xae70): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::getVideoDeviceList()':
PeerConnectionManager.cpp:(.text+0xb1c5): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::getMediaList()':
PeerConnectionManager.cpp:(.text+0xb53c): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xb58d): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xb679): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xb73a): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xb778): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xb7b4): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::PeerConnectionManager(std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, Json::Value const&, webrtc::AudioDeviceModule::AudioLayer, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, bool, int)':
PeerConnectionManager.cpp:(.text+0xc171): undefined reference to `rtc::Thread::SetName(std::basic_string_view<char, std::char_traits<char> >, void const*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xc1ba): undefined reference to `rtc::Thread::SetName(std::basic_string_view<char, std::char_traits<char> >, void const*)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::CreateVideoSource(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)':
PeerConnectionManager.cpp:(.text+0xcfbe): undefined reference to `Json::Value::isMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xd49b): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xd4b9): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::AddStreams(webrtc::PeerConnectionInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
PeerConnectionManager.cpp:(.text+0xef3a): undefined reference to `Json::Value::isMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xf1db): undefined reference to `Json::Value::isMember(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xf1ea): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xf20c): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xfc34): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0xfc5b): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::createOffer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
PeerConnectionManager.cpp:(.text+0x10d74): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x10dc2): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::whep(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Json::Value const&)':
PeerConnectionManager.cpp:(.text+0x1231c): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x12368): undefined reference to `webrtc::CreateSessionDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, webrtc::SdpParseError*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x1258b): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x125f6): undefined reference to `Json::Value::asString[abi:cxx11]() const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x12973): undefined reference to `webrtc::CreateIceCandidate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, webrtc::SdpParseError*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x12c22): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::call(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Json::Value const&)':
PeerConnectionManager.cpp:(.text+0x1371c): undefined reference to `rtc::GetStringFromJsonObject(Json::Value const&, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x13745): undefined reference to `rtc::GetStringFromJsonObject(Json::Value const&, std::basic_string_view<char, std::char_traits<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x1384d): undefined reference to `webrtc::CreateSessionDescription(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, webrtc::SdpParseError*)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x138ef): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text+0x13936): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `PeerConnectionManager::PeerConnectionStatsCollectorCallback::OnStatsDelivered(rtc::scoped_refptr<webrtc::RTCStatsReport const> const&)':
PeerConnectionManager.cpp:(.text._ZN21PeerConnectionManager36PeerConnectionStatsCollectorCallback16OnStatsDeliveredERKN3rtc13scoped_refptrIKN6webrtc14RTCStatsReportEEE[_ZN21PeerConnectionManager36PeerConnectionStatsCollectorCallback16OnStatsDeliveredERKN3rtc13scoped_refptrIKN6webrtc14RTCStatsReportEEE]+0xe7): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: PeerConnectionManager.cpp:(.text._ZN21PeerConnectionManager36PeerConnectionStatsCollectorCallback16OnStatsDeliveredERKN3rtc13scoped_refptrIKN6webrtc14RTCStatsReportEEE[_ZN21PeerConnectionManager36PeerConnectionStatsCollectorCallback16OnStatsDeliveredERKN3rtc13scoped_refptrIKN6webrtc14RTCStatsReportEEE]+0x163): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `VideoEncoderFactory::CreateVideoEncoder(webrtc::SdpVideoFormat const&)':
PeerConnectionManager.cpp:(.text._ZN19VideoEncoderFactory18CreateVideoEncoderERKN6webrtc14SdpVideoFormatE[_ZN19VideoEncoderFactory18CreateVideoEncoderERKN6webrtc14SdpVideoFormatE]+0x82): undefined reference to `webrtc::SdpVideoFormat::ToString[abi:cxx11]() const'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `VideoDecoderFactory::CreateVideoDecoder(webrtc::SdpVideoFormat const&)':
PeerConnectionManager.cpp:(.text._ZN19VideoDecoderFactory18CreateVideoDecoderERKN6webrtc14SdpVideoFormatE[_ZN19VideoDecoderFactory18CreateVideoDecoderERKN6webrtc14SdpVideoFormatE]+0x92): undefined reference to `webrtc::SdpVideoFormat::ToString[abi:cxx11]() const'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `NullEncoder::SetRates(webrtc::VideoEncoder::RateControlParameters const&)':
PeerConnectionManager.cpp:(.text._ZN11NullEncoder8SetRatesERKN6webrtc12VideoEncoder21RateControlParametersE[_ZN11NullEncoder8SetRatesERKN6webrtc12VideoEncoder21RateControlParametersE]+0xbb): undefined reference to `webrtc::VideoBitrateAllocation::ToString[abi:cxx11]() const'
/usr/bin/ld: PeerConnectionManager.cpp:(.text._ZN11NullEncoder8SetRatesERKN6webrtc12VideoEncoder21RateControlParametersE[_ZN11NullEncoder8SetRatesERKN6webrtc12VideoEncoder21RateControlParametersE]+0x10d): undefined reference to `webrtc::VideoBitrateAllocation::ToString[abi:cxx11]() const'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `LiveAudioSource<MKVClient>::onNewSession(char const*, char const*, char const*, char const*)':
PeerConnectionManager.cpp:(.text._ZN15LiveAudioSourceI9MKVClientE12onNewSessionEPKcS3_S3_S3_[_ZN15LiveAudioSourceI9MKVClientE12onNewSessionEPKcS3_S3_S3_]+0x3c0): undefined reference to `webrtc::SdpAudioFormat::SdpAudioFormat(std::basic_string_view<char, std::char_traits<char> >, int, unsigned long, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/PeerConnectionManager.cpp.o: in function `LiveAudioSource<RTSPConnection>::onNewSession(char const*, char const*, char const*, char const*)':
PeerConnectionManager.cpp:(.text._ZN15LiveAudioSourceI14RTSPConnectionE12onNewSessionEPKcS3_S3_S3_[_ZN15LiveAudioSourceI14RTSPConnectionE12onNewSessionEPKcS3_S3_S3_]+0x3c0): undefined reference to `webrtc::SdpAudioFormat::SdpAudioFormat(std::basic_string_view<char, std::char_traits<char> >, int, unsigned long, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/filevideocapturer.cpp.o: in function `VideoDecoder::DecoderThread()':
filevideocapturer.cpp:(.text._ZN12VideoDecoder13DecoderThreadEv[_ZN12VideoDecoder13DecoderThreadEv]+0x3a3): undefined reference to `cricket::VideoFormat::ToString[abi:cxx11]() const'
/usr/bin/ld: filevideocapturer.cpp:(.text._ZN12VideoDecoder13DecoderThreadEv[_ZN12VideoDecoder13DecoderThreadEv]+0x4b3): undefined reference to `cricket::VideoFormat::ToString[abi:cxx11]() const'
/usr/bin/ld: filevideocapturer.cpp:(.text._ZN12VideoDecoder13DecoderThreadEv[_ZN12VideoDecoder13DecoderThreadEv]+0x4c9): undefined reference to `cricket::VideoFormat::ToString[abi:cxx11]() const'
/usr/bin/ld: filevideocapturer.cpp:(.text._ZN12VideoDecoder13DecoderThreadEv[_ZN12VideoDecoder13DecoderThreadEv]+0x691): undefined reference to `webrtc::SdpVideoFormat::SdpVideoFormat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: filevideocapturer.cpp:(.text._ZN12VideoDecoder13DecoderThreadEv[_ZN12VideoDecoder13DecoderThreadEv]+0x7b2): undefined reference to `webrtc::SdpVideoFormat::SdpVideoFormat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/filevideocapturer.cpp.o: in function `VideoDecoder::getInitFrames(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*)':
filevideocapturer.cpp:(.text._ZN12VideoDecoder13getInitFramesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc[_ZN12VideoDecoder13getInitFramesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKc]+0x1b0): undefined reference to `webrtc::H264SpropParameterSets::DecodeSprop(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: CMakeFiles/webrtc-streamer.dir/src/main.cpp.o: in function `main':
main.cpp:(.text.startup+0x74d): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: main.cpp:(.text.startup+0x8c8): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: main.cpp:(.text.startup+0x9ac): undefined reference to `Json::operator>>(std::istream&, Json::Value&)'
/usr/bin/ld: main.cpp:(.text.startup+0xa97): undefined reference to `Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: main.cpp:(.text.startup+0xab5): undefined reference to `Json::Value::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: main.cpp:(.text.startup+0xb6d): undefined reference to `Json::operator<<(std::ostream&, Json::Value const&)'
/usr/bin/ld: main.cpp:(.text.startup+0x151b): undefined reference to `rtc::SocketAddress::FromString(std::basic_string_view<char, std::char_traits<char> >)'
/usr/bin/ld: main.cpp:(.text.startup+0x1584): undefined reference to `rtc::SocketAddress::ToString[abi:cxx11]() const'
/usr/bin/ld: main.cpp:(.text.startup+0x16c7): undefined reference to `rtc::SocketAddress::FromString(std::basic_string_view<char, std::char_traits<char> >)'
/usr/bin/ld: main.cpp:(.text.startup+0x172d): undefined reference to `rtc::SocketAddress::ToString[abi:cxx11]() const'
/usr/bin/ld: main.cpp:(.text.startup+0x17ce): undefined reference to `rtc::SocketAddress::ToString[abi:cxx11]() const'
/usr/bin/ld: main.cpp:(.text.startup+0x1852): undefined reference to `cricket::TurnServer::AddInternalServerSocket(rtc::Socket*, cricket::ProtocolType, std::unique_ptr<rtc::SSLAdapterFactory, std::default_delete<rtc::SSLAdapterFactory> >)'
/usr/bin/ld: main.cpp:(.text.startup+0x18fc): undefined reference to `rtc::SocketAddress::FromString(std::basic_string_view<char, std::char_traits<char> >)'
/usr/bin/ld: main.cpp:(.text.startup+0x1922): undefined reference to `rtc::SocketAddress::ToString[abi:cxx11]() const'
/usr/bin/ld: ../webrtc/src/out/Release/obj/libwebrtc.a(generated_message_util.o): in function `google::protobuf::internal::DestroyString(void const*)':
./../../third_party/protobuf/src/google/protobuf/generated_message_util.cc:64: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::parse(char const*, char const*, Json::Value&, bool)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:134: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:142: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::parse(std::Cr::basic_istream<char, std::Cr::char_traits<char> >&, Json::Value&, bool)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:110: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::readValue()':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:164: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o:./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:217: more undefined references to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()' follow
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::normalizeEOL(char const*, char const*)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:355: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::reserve(unsigned long)'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:370: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::decodeString(Json::Reader::Token&, std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >&)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:629: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::reserve(unsigned long)'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:638: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:669: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:672: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::decodeDouble(Json::Reader::Token&, Json::Value&)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:604: undefined reference to `std::Cr::basic_istream<char, std::Cr::char_traits<char> >::operator>>(double&)'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:610: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:610: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:610: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:615: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::decodeUnicodeCodePoint(Json::Reader::Token&, char const*&, char const*, unsigned int&)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:689: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o:./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:699: more undefined references to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()' follow
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::Reader::getFormattedErrorMessages() const':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:808: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > std::Cr::operator+<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >(char const*, std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > const&)'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:808: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:808: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:810: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:810: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:810: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o:./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:814: more undefined references to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()' follow
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::OurReader::readObject(Json::OurReader::Token&)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1477: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > std::Cr::operator+<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >(char const*, std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > const&)'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1477: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1479: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1483: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1497: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1506: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o:./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1508: more undefined references to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()' follow
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::OurReader::normalizeEOL(char const*, char const*)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1337: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::reserve(unsigned long)'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1352: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: /home/hiqbal/webrtc/src/out/Release/obj/third_party/jsoncpp/jsoncpp/json_reader.o: in function `Json::OurReader::decodeString(Json::OurReader::Token&, std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >&)':
./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1681: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::reserve(unsigned long)'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1690: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1721: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../third_party/jsoncpp/source/src/lib_json/json_reader.cpp:1724: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
.
.
.
.
./../../buildtools/third_party/libc++/trunk/include/list:1687: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/media/rtc_simulcast_encoder_adapter/simulcast_encoder_adapter.o: in function `std::Cr::list<std::Cr::unique_ptr<webrtc::SimulcastEncoderAdapter::EncoderContext, std::Cr::default_delete<webrtc::SimulcastEncoderAdapter::EncoderContext> >, std::Cr::allocator<std::Cr::unique_ptr<webrtc::SimulcastEncoderAdapter::EncoderContext, std::Cr::default_delete<webrtc::SimulcastEncoderAdapter::EncoderContext> > > >::erase(std::Cr::__list_const_iterator<std::Cr::unique_ptr<webrtc::SimulcastEncoderAdapter::EncoderContext, std::Cr::default_delete<webrtc::SimulcastEncoderAdapter::EncoderContext> >, void*>)':
./../../buildtools/third_party/libc++/trunk/include/list:1718: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/media/rtc_simulcast_encoder_adapter/simulcast_encoder_adapter.o:./../../buildtools/third_party/libc++/trunk/include/vector:571: more undefined references to `std::Cr::__libcpp_verbose_abort(char const*, ...)' follow
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_h264/h264.o: in function `webrtc::CreateH264Format(webrtc::H264Profile, webrtc::H264Level, std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> > const&, bool)':
./../../modules/video_coding/codecs/h264/h264.cc:66: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_h264/h264.o: in function `webrtc::SupportedH264Codecs(bool)':
./../../modules/video_coding/codecs/h264/h264.cc:93: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../modules/video_coding/codecs/h264/h264.cc:93: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../modules/video_coding/codecs/h264/h264.cc:93: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../modules/video_coding/codecs/h264/h264.cc:93: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_h264/h264.o:./../../modules/video_coding/codecs/h264/h264.cc:93: more undefined references to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()' follow
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o: in function `std::Cr::vector<vpx_codec_ctx, std::Cr::allocator<vpx_codec_ctx> >::operator[](unsigned long)':
./../../buildtools/third_party/libc++/trunk/include/vector:1461: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o: in function `std::Cr::vector<vpx_codec_enc_cfg, std::Cr::allocator<vpx_codec_enc_cfg> >::operator[](unsigned long)':
./../../buildtools/third_party/libc++/trunk/include/vector:1461: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o: in function `std::Cr::vector<vpx_image, std::Cr::allocator<vpx_image> >::operator[](unsigned long)':
./../../buildtools/third_party/libc++/trunk/include/vector:1461: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o: in function `std::Cr::vector<vpx_rational, std::Cr::allocator<vpx_rational> >::operator[](unsigned long)':
./../../buildtools/third_party/libc++/trunk/include/vector:1461: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o: in function `std::Cr::vector<webrtc::Vp8EncoderConfig, std::Cr::allocator<webrtc::Vp8EncoderConfig> >::operator[](unsigned long)':
./../../buildtools/third_party/libc++/trunk/include/vector:1461: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp8/libvpx_vp8_encoder.o:./../../buildtools/third_party/libc++/trunk/include/vector:1461: more undefined references to `std::Cr::__libcpp_verbose_abort(char const*, ...)' follow
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/vp9.o: in function `webrtc::SupportedVP9Codecs(bool)':
./../../modules/video_coding/codecs/vp9/vp9.cc:48: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../modules/video_coding/codecs/vp9/vp9.cc:48: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../modules/video_coding/codecs/vp9/vp9.cc:53: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../modules/video_coding/codecs/vp9/vp9.cc:53: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/vp9.o: in function `webrtc::SupportedVP9DecoderCodecs()':
./../../modules/video_coding/codecs/vp9/vp9.cc:71: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/vp9.o:./../../modules/video_coding/codecs/vp9/vp9.cc:71: more undefined references to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()' follow
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_decoder.o: in function `void std::Cr::__destroy_at<rtc::scoped_refptr<webrtc::Vp9FrameBufferPool::Vp9FrameBuffer>, 0>(rtc::scoped_refptr<webrtc::Vp9FrameBufferPool::Vp9FrameBuffer>*)':
./../../buildtools/third_party/libc++/trunk/include/__memory/construct_at.h:65: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `webrtc::LibvpxVp9Encoder::LibvpxVp9Encoder(cricket::VideoCodec const&, std::Cr::unique_ptr<webrtc::LibvpxInterface, std::Cr::default_delete<webrtc::LibvpxInterface> >, webrtc::FieldTrialsView const&)':
./../../modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc:243: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ./../../modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc:263: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `webrtc::LibvpxVp9Encoder::ParseVariableFramerateConfig(webrtc::FieldTrialsView const&)':
./../../modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc:1899: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `webrtc::LibvpxVp9Encoder::ParseQualityScalerConfig(webrtc::FieldTrialsView const&)':
./../../modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc:1918: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)':
./../../modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc:1989: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `void std::Cr::__destroy_at<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params, 0>(webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params*)':
./../../buildtools/third_party/libc++/trunk/include/__memory/construct_at.h:65: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `std::Cr::vector<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params, std::Cr::allocator<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params> >::operator[](unsigned long)':
./../../buildtools/third_party/libc++/trunk/include/vector:1461: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `std::Cr::vector<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params, std::Cr::allocator<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params> >::swap(std::Cr::vector<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params, std::Cr::allocator<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params> >&)':
./../../buildtools/third_party/libc++/trunk/include/vector:1940: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `std::Cr::__exception_guard_noexceptions<std::Cr::vector<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params, std::Cr::allocator<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params> >::__destroy_vector>::~__exception_guard_noexceptions()':
libvpx_vp9_encoder.cc:(.text+0x197a2): undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o: in function `webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params* std::Cr::construct_at<webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params, webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params const&, webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params*>(webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params*, webrtc::LibvpxVp9Encoder::ParsePerformanceFlagsFromTrials(webrtc::FieldTrialsView const&)::Params const&)':
./../../buildtools/third_party/libc++/trunk/include/__memory/construct_at.h:37: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/modules/video_coding/webrtc_vp9/libvpx_vp9_encoder.o:libvpx_vp9_encoder.cc:(.text+0x1b6b2): more undefined references to `std::Cr::__libcpp_verbose_abort(char const*, ...)' follow
/usr/bin/ld: ../webrtc/src/out/Release/obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o: in function `webrtc::CpuSpeedExperiment::CpuSpeedExperiment()':
./../../rtc_base/experiments/cpu_speed_experiment.cc:67: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o: in function `std::Cr::vector<webrtc::CpuSpeedExperiment::Config, std::Cr::allocator<webrtc::CpuSpeedExperiment::Config> >::operator[](unsigned long) const':
./../../buildtools/third_party/libc++/trunk/include/vector:1471: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o: in function `std::Cr::__exception_guard_noexceptions<std::Cr::vector<webrtc::CpuSpeedExperiment::Config, std::Cr::allocator<webrtc::CpuSpeedExperiment::Config> >::__destroy_vector>::~__exception_guard_noexceptions()':
cpu_speed_experiment.cc:(.text._ZNSt2Cr30__exception_guard_noexceptionsINS_6vectorIN6webrtc18CpuSpeedExperiment6ConfigENS_9allocatorIS4_EEE16__destroy_vectorEED2Ev[_ZNSt2Cr30__exception_guard_noexceptionsINS_6vectorIN6webrtc18CpuSpeedExperiment6ConfigENS_9allocatorIS4_EEE16__destroy_vectorEED2Ev]+0x42): undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o: in function `std::Cr::__exception_guard_noexceptions<std::Cr::_AllocatorDestroyRangeReverse<std::Cr::allocator<webrtc::CpuSpeedExperiment::Config>, webrtc::CpuSpeedExperiment::Config*> >::~__exception_guard_noexceptions()':
cpu_speed_experiment.cc:(.text._ZNSt2Cr30__exception_guard_noexceptionsINS_29_AllocatorDestroyRangeReverseINS_9allocatorIN6webrtc18CpuSpeedExperiment6ConfigEEEPS5_EEED2Ev[_ZNSt2Cr30__exception_guard_noexceptionsINS_29_AllocatorDestroyRangeReverseINS_9allocatorIN6webrtc18CpuSpeedExperiment6ConfigEEEPS5_EEED2Ev]+0x42): undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o: in function `webrtc::CpuSpeedExperiment::Config* std::Cr::construct_at<webrtc::CpuSpeedExperiment::Config, webrtc::CpuSpeedExperiment::Config&, webrtc::CpuSpeedExperiment::Config*>(webrtc::CpuSpeedExperiment::Config*, webrtc::CpuSpeedExperiment::Config&)':
./../../buildtools/third_party/libc++/trunk/include/__memory/construct_at.h:37: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o: in function `void std::Cr::__destroy_at<webrtc::CpuSpeedExperiment::Config, 0>(webrtc::CpuSpeedExperiment::Config*)':
./../../buildtools/third_party/libc++/trunk/include/__memory/construct_at.h:65: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/rtc_base/experiments/cpu_speed_experiment/cpu_speed_experiment.o:./../../buildtools/third_party/libc++/trunk/include/vector:1461: more undefined references to `std::Cr::__libcpp_verbose_abort(char const*, ...)' follow
/usr/bin/ld: ../webrtc/src/out/Release/obj/api/video_codecs/rtc_software_fallback_wrappers/video_encoder_software_fallback_wrapper.o: in function `webrtc::(anonymous namespace)::ParseFallbackParamsFromFieldTrials(webrtc::VideoEncoder const&)':
./../../api/video_codecs/video_encoder_software_fallback_wrapper.cc:99: undefined reference to `std::Cr::basic_string<char, std::Cr::char_traits<char>, std::Cr::allocator<char> >::~basic_string()'
/usr/bin/ld: ../webrtc/src/out/Release/obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o: in function `std::Cr::__exception_guard_noexceptions<std::Cr::_AllocatorDestroyRangeReverse<std::Cr::allocator<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> > >, std::Cr::reverse_iterator<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*> > >::~__exception_guard_noexceptions()':
vp8_temporal_layers_factory.cc:(.text._ZNSt2Cr30__exception_guard_noexceptionsINS_29_AllocatorDestroyRangeReverseINS_9allocatorINS_10unique_ptrIN6webrtc24Vp8FrameBufferControllerENS_14default_deleteIS5_EEEEEENS_16reverse_iteratorIPS8_EEEEED2Ev[_ZNSt2Cr30__exception_guard_noexceptionsINS_29_AllocatorDestroyRangeReverseINS_9allocatorINS_10unique_ptrIN6webrtc24Vp8FrameBufferControllerENS_14default_deleteIS5_EEEEEENS_16reverse_iteratorIPS8_EEEEED2Ev]+0x42): undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o: in function `std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >* std::Cr::construct_at<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >, std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >, std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*>(std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*, std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >&&)':
./../../buildtools/third_party/libc++/trunk/include/__memory/construct_at.h:37: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o: in function `std::Cr::enable_if<__is_cpp17_input_iterator<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*>::value, std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*>::type std::Cr::prev<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*>(std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*, std::Cr::iterator_traits<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*>::difference_type)':
./../../buildtools/third_party/libc++/trunk/include/__iterator/prev.h:31: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o: in function `void std::Cr::advance<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*, long, long, void>(std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*&, long)':
./../../buildtools/third_party/libc++/trunk/include/__iterator/advance.h:66: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/api/video_codecs/vp8_temporal_layers_factory/vp8_temporal_layers_factory.o: in function `void std::Cr::__destroy_at<std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >, 0>(std::Cr::unique_ptr<webrtc::Vp8FrameBufferController, std::Cr::default_delete<webrtc::Vp8FrameBufferController> >*)':
./../../buildtools/third_party/libc++/trunk/include/__memory/construct_at.h:65: undefined reference to `std::Cr::__libcpp_verbose_abort(char const*, ...)'
/usr/bin/ld: ../webrtc/src/out/Release/obj/common_video/common_video/video_frame_buffer_pool.o:./../../buildtools/third_party/libc++/trunk/include/list:1718: more undefined references to `std::Cr::__libcpp_verbose_abort(char const*, ...)' follow
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/webrtc-streamer.dir/build.make:1133: webrtc-streamer] Error 1
make[1]: *** [CMakeFiles/Makefile2:124: CMakeFiles/webrtc-streamer.dir/all] Error 2
make: *** [Makefile:156: all] Error 2