Video chat application on Windows 32 bit with Webrtc
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.