Important: Please read the Qt Code of Conduct -

Video chat application on Windows 32 bit with Webrtc

  • Hi,

    I am developing a video chat software in 32 bit windows system using webrtc. Most of qt app about this topic on github is outdated, so I have to do from scratch.

    My default compiler is MSVC 2017, unfortunately, there is a problem here. When I built Webrtc on my system, the file "webrtc.lib" exported a symbol called

    void __thiscall cricket::VideoAdapter::OnResolutionFramerateRequest(class absl::optional<int> const &,int,int)

    However, when my function called that symbol, it suddenly became

    void __thiscall cricket::VideoAdapter::OnResolutionFramerateRequest(class std::optional<int> const &,int,int)

    AFAIK, C++17 auto convert absl to std, so my application couldn't find such symbol. I have managed to solve this by:

    • Casting the parameter I passed to the function to absl, but eventually it was still converted to std.
    • Downgrading C++ compiler used for Qt to C++14, but it emitted bunch of errors about "nodiscard requires /std:c++17". Unfortunately, it seemed that MSVC 2017 was fully c++17 compliant. So I had to install MSVC 2015. Then I configured compiler in Qt to MSVC 2015, and these errors occurred:


    Did anyone meet this kind of situation? Honestly I am exhausted now after nearly a week spending on building and compiling my application, so please help me :D.

Log in to reply