Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Error building Qt + libwebrtc
Forum Updated to NodeBB v4.3 + New Features

Error building Qt + libwebrtc

Scheduled Pinned Locked Moved Unsolved General and Desktop
3 Posts 2 Posters 304 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mvquezm
    wrote on 27 Aug 2024, 12:47 last edited by
    #1

    Greetings, I'm trying to build a basic console project using Qt6 (Core, Multimedia and Network modules) plus google libwebrtc library.

    Compile output error:

    In file included from /Users/..../test//services/webrtctest.cpp:1:
    In file included from /Users/..../test//services/webrtctest.h:5:
    In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/mediasoupclient.hpp:4:
    In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/Device.hpp:4:
    In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/Handler.hpp:4:
    In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/PeerConnection.hpp:5:
    In file included from /Users/.../webrtc-checkout/src/api/peer_connection_interface.h:83:
    In file included from /Users/.../webrtc-checkout/src/api/async_resolver_factory.h:14:
    In file included from /Users/.../webrtc-checkout/src/rtc_base/async_resolver_interface.h:17:
    /Users/.../webrtc-checkout/src/rtc_base/third_party/sigslot/sigslot.h:327:17: error: expected ')'
    void emit(Args... args) const {
    ^
    /Users/.../webrtc-checkout/src/rtc_base/third_party/sigslot/sigslot.h:327:12: note: to match this '('
    void emit(Args... args) const {
    ^

    Any advise? Thanks!

    P 1 Reply Last reply 27 Aug 2024, 13:16
    0
    • M mvquezm
      27 Aug 2024, 12:47

      Greetings, I'm trying to build a basic console project using Qt6 (Core, Multimedia and Network modules) plus google libwebrtc library.

      Compile output error:

      In file included from /Users/..../test//services/webrtctest.cpp:1:
      In file included from /Users/..../test//services/webrtctest.h:5:
      In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/mediasoupclient.hpp:4:
      In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/Device.hpp:4:
      In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/Handler.hpp:4:
      In file included from /Users/..../test//build/Qt_6_7_2_for_macOS-Debug/_deps/3rd-party-lib/include/PeerConnection.hpp:5:
      In file included from /Users/.../webrtc-checkout/src/api/peer_connection_interface.h:83:
      In file included from /Users/.../webrtc-checkout/src/api/async_resolver_factory.h:14:
      In file included from /Users/.../webrtc-checkout/src/rtc_base/async_resolver_interface.h:17:
      /Users/.../webrtc-checkout/src/rtc_base/third_party/sigslot/sigslot.h:327:17: error: expected ')'
      void emit(Args... args) const {
      ^
      /Users/.../webrtc-checkout/src/rtc_base/third_party/sigslot/sigslot.h:327:12: note: to match this '('
      void emit(Args... args) const {
      ^

      Any advise? Thanks!

      P Offline
      P Offline
      Pl45m4
      wrote on 27 Aug 2024, 13:16 last edited by Pl45m4
      #2

      @mvquezm said in Error building Qt + libwebrtc:

      /Users/.../webrtc-checkout/src/rtc_base/third_party/sigslot/sigslot.h:327:17: error: expected ')'
      void emit(Args... args) const {
      ^
      /Users/.../webrtc-checkout/src/rtc_base/third_party/sigslot/sigslot.h:327:12: note: to match this '('
      void emit(Args... args) const {

      I have zero knowledge about libwebrtc, but it looks like this thirdparty lib is using functions/methods and other symbols named emit ... in its own signaling system called "sigslot".
      emit is a preprocessor macro which actually expands to "nothing", used by Qt's Signal / Slot mechanism.

      In case there are conficts with thirdparty stuff, you could try to configure your project using the QT_NO_KEYWORDS option

      Add one of those to your CMake:

      target_compile_definitions(Your_Target PRIVATE QT_NO_KEYWORDS)
      or
      ADD_DEFINITIONS(-DQT_NO_KEYWORDS)

      When emitting a Qt signal, you can use Q_EMIT instead or omit it completely.
      Same for signals or slots in your headers... use their Q_ siblings :)

      Read here for further info

      • https://doc.qt.io/qt-6/signalsandslots.html#using-qt-with-3rd-party-signals-and-slots

      If debugging is the process of removing software bugs, then programming must be the process of putting them in.

      ~E. W. Dijkstra

      1 Reply Last reply
      2
      • M Offline
        M Offline
        mvquezm
        wrote on 30 Aug 2024, 16:19 last edited by
        #3

        Thank you so much @Pl45m4

        1 Reply Last reply
        0

        1/3

        27 Aug 2024, 12:47

        • Login

        • Login or register to search.
        1 out of 3
        • First post
          1/3
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved