c++ – error when using webrtc lib into my QT project
i got a webrtc lib that have been compiled and could be use directly,My pure C++ project could use it, and i got many errors when using webrtc lib into my QT project,it compile error at the sigslot.h,how to solve it?
the error is at the WebRTC\include\rtc_base\third_party\sigslot.h file
// time.
template <typename... Args>
void emit(Args... args) const {
typedef void (*em_t)(const _opaque_connection*, Args...);
union_caster<emit_t, em_t> caster;
caster.from = pemit;
(caster.to)(this, args...);
}
Severity Code Description Project File Line Suppression State
Error C2988 unrecognizable template declaration/definition qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2143 syntax error: missing ')' before '...' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2143 syntax error: missing ';' before '...' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2182 'Args': this use of 'void' is not valid qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2365 'Args': redefinition; previous definition was 'template parameter' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2238 unexpected token(s) preceding ';' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2059 syntax error: '...' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2059 syntax error: ')' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2334 unexpected token(s) preceding '{'; skipping apparent function body qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 327
Error C2143 syntax error: missing ')' before '...' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 560
Error C2143 syntax error: missing ';' before '...' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 560
Error C2182 'Args': this use of 'void' is not valid qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 560
Error C2059 syntax error: ')' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 560
Error C2334 unexpected token(s) preceding '{'; skipping apparent function body qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 560
Error C2327 'sigslot::signal_with_thread_policy<mt_policy,Args...>::Args': is not a type name, static, or enumerator qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 570
Error C2760 syntax error: '...' was unexpected here; expected ')' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 570
Error C2760 syntax error: ')' was unexpected here; expected ';' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 570
Error C3878 syntax error: unexpected token ')' following 'expression_statement' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 570
Error C2327 'sigslot::signal_with_thread_policy<sigslot::single_threaded,rtc::AsyncResolverInterface *>::Args': is not a type name, static, or enumerator qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\third_party\sigslot\sigslot.h 570
Error C2589 '(': illegal token on right side of '::' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Error C2760 syntax error: '(' was unexpected here; expected ':' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Error C3878 syntax error: unexpected token '(' following 'expression' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Error C2760 syntax error: ')' was unexpected here; expected ';' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Error C3878 syntax error: unexpected token ')' following 'jump_statement' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Error C3878 syntax error: unexpected token ')' following 'expression_statement' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Error C2760 syntax error: ':' was unexpected here; expected ';' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Error C3878 syntax error: unexpected token ':' following 'expression_statement' qt_project_for_webrtc_practise D:\lib\WebRTC\include\api\array_view.h 280
Warning C4003 not enough arguments for function-like macro invocation 'max' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 115
Warning C4003 not enough arguments for function-like macro invocation 'max' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 118
Warning C4003 not enough arguments for function-like macro invocation 'min' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 118
Error C2589 '(': illegal token on right side of '::' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 113
Error C2760 syntax error: '(' was unexpected here; expected ')' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 113
Error C2760 syntax error: '(' was unexpected here; expected ':' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 113
Error C2760 syntax error: ')' was unexpected here; expected ';' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 113
Error C3878 syntax error: unexpected token ')' following 'jump_statement' qt_project_for_webrtc_practise D:\lib\WebRTC\include\rtc_base\numerics\safe_conversions_impl.h 113
my project config
Read more here: Source link



