Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt Bluetooth - no devices discovered.
Qt 6.12 LTS is out! See what's new in the release blog

Qt Bluetooth - no devices discovered.

Scheduled Pinned Locked Moved Solved General and Desktop
35 Posts 4 Posters 29.6k Views
  • 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.
  • jsulmJ jsulm

    @jenya7 said in Qt Bluetooth - no devices discovered.:

    I wonder how can it be - moc file is a generated file after build

    It is probably a remnant from previos version when scanFinished was declared as signal.
    Do a complete rebuild: delete build folder, run qmake and build.

    J Offline
    J Offline
    jenya7
    wrote on last edited by
    #26

    @jsulm said in Qt Bluetooth - no devices discovered.:

    @jenya7 said in Qt Bluetooth - no devices discovered.:

    I wonder how can it be - moc file is a generated file after build

    It is probably a remnant from previos version when scanFinished was declared as signal.
    Do a complete rebuild: delete build folder, run qmake and build.

    Deleted all from the build folder. Clean. Rebuild. I see new files created. The same problem.
    Renamed scanFinished for scanCompleted. Still the same problem.

    jsulmJ 1 Reply Last reply
    0
    • J jenya7

      @jsulm said in Qt Bluetooth - no devices discovered.:

      @jenya7 said in Qt Bluetooth - no devices discovered.:

      I wonder how can it be - moc file is a generated file after build

      It is probably a remnant from previos version when scanFinished was declared as signal.
      Do a complete rebuild: delete build folder, run qmake and build.

      Deleted all from the build folder. Clean. Rebuild. I see new files created. The same problem.
      Renamed scanFinished for scanCompleted. Still the same problem.

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #27
      This post is deleted!
      1 Reply Last reply
      0
      • J jenya7

        @jsulm said in Qt Bluetooth - no devices discovered.:

        @jenya7 said in Qt Bluetooth - no devices discovered.:

        Is it OK?

        Why did you comment out the connect?

        for debug. I still get the error.
        On Windows I get a different error - error: multiple definition of `Device::scanFinished()' in moc_device.cpp.
        first defined here device.cpp.
        I wonder how can it be - moc file is a generated file after build.

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote on last edited by
        #28

        @jenya7 said in Qt Bluetooth - no devices discovered.:

        On Windows I get a different error - error: multiple definition of `Device::scanFinished()' in moc_device.cpp.

        Just realised: this is in Device class.
        Please show Device code (header and cpp).
        You probably defined scanFinished() in cpp file, you should not do that for signals!

        J 1 Reply Last reply
        0
        • jsulmJ jsulm

          @jenya7 said in Qt Bluetooth - no devices discovered.:

          On Windows I get a different error - error: multiple definition of `Device::scanFinished()' in moc_device.cpp.

          Just realised: this is in Device class.
          Please show Device code (header and cpp).
          You probably defined scanFinished() in cpp file, you should not do that for signals!

          J Offline
          J Offline
          jenya7
          wrote on last edited by
          #29

          @jsulm
          I see. Now on Windows it compiles OK. On Linux the same 'vtable' problem.

          jsulmJ 1 Reply Last reply
          0
          • J jenya7

            @jsulm
            I see. Now on Windows it compiles OK. On Linux the same 'vtable' problem.

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #30

            @jenya7 said in Qt Bluetooth - no devices discovered.:

            On Linux the same 'vtable' problem

            Exact same code?
            Do a full rebuild.

            J 1 Reply Last reply
            0
            • jsulmJ jsulm

              @jenya7 said in Qt Bluetooth - no devices discovered.:

              On Linux the same 'vtable' problem

              Exact same code?
              Do a full rebuild.

              J Offline
              J Offline
              jenya7
              wrote on last edited by jenya7
              #31

              @jsulm
              yes.
              I've noticed in device.h at the beginning

              class Device: public QObject
              {
                  Q_OBJECT
                  Q_PROPERTY(QVariant devicesList READ getDevices NOTIFY devicesUpdated)
                  Q_PROPERTY(QVariant servicesList READ getServices NOTIFY servicesUpdated)
                  Q_PROPERTY(QVariant characteristicList READ getCharacteristics NOTIFY characteristicsUpdated)
                  Q_PROPERTY(QString update READ getUpdate WRITE setUpdate NOTIFY updateChanged)
                  Q_PROPERTY(bool useRandomAddress READ isRandomAddress WRITE setRandomAddress NOTIFY randomAddressChanged)
                  Q_PROPERTY(bool state READ state NOTIFY stateChanged)
                  Q_PROPERTY(bool controllerError READ hasControllerError)
              
              //and so on
              

              those Q_PROPERTY - do I need it? it's a QML related stuff.
              I took the class from a QML project.

              jsulmJ 1 Reply Last reply
              0
              • J jenya7

                @jsulm
                yes.
                I've noticed in device.h at the beginning

                class Device: public QObject
                {
                    Q_OBJECT
                    Q_PROPERTY(QVariant devicesList READ getDevices NOTIFY devicesUpdated)
                    Q_PROPERTY(QVariant servicesList READ getServices NOTIFY servicesUpdated)
                    Q_PROPERTY(QVariant characteristicList READ getCharacteristics NOTIFY characteristicsUpdated)
                    Q_PROPERTY(QString update READ getUpdate WRITE setUpdate NOTIFY updateChanged)
                    Q_PROPERTY(bool useRandomAddress READ isRandomAddress WRITE setRandomAddress NOTIFY randomAddressChanged)
                    Q_PROPERTY(bool state READ state NOTIFY stateChanged)
                    Q_PROPERTY(bool controllerError READ hasControllerError)
                
                //and so on
                

                those Q_PROPERTY - do I need it? it's a QML related stuff.
                I took the class from a QML project.

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #32

                @jenya7 said in Qt Bluetooth - no devices discovered.:

                those Q_PROPERTY - do I need it?

                If you don't use them then you don't need them.

                J 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @jenya7 said in Qt Bluetooth - no devices discovered.:

                  those Q_PROPERTY - do I need it?

                  If you don't use them then you don't need them.

                  J Offline
                  J Offline
                  jenya7
                  wrote on last edited by jenya7
                  #33

                  @jsulm
                  oops. I did "Run qmake" then "Build" - and it's compiles, no errors.

                  now if I uncomment
                  connect(&bt_device, &Device::scanFinished, this, &BT_DEVICE::ScanFinished);
                  I get a run time exception

                  The inferior stopped because it received a signal from the operating system.

                  in devise.h

                  signals:
                      void scanFinished();
                  

                  in my h

                  public slots:
                      void ScanFinished();
                  

                  seems OK.

                  So this is wrong

                  Device::Device()
                  {
                      connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::finished, this, &Device::scanFinished);
                  }
                  

                  I connect a signal to a signal.

                  jsulmJ 1 Reply Last reply
                  0
                  • J Offline
                    J Offline
                    Jamie Biswas
                    Banned
                    wrote on last edited by
                    #34
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • J jenya7

                      @jsulm
                      oops. I did "Run qmake" then "Build" - and it's compiles, no errors.

                      now if I uncomment
                      connect(&bt_device, &Device::scanFinished, this, &BT_DEVICE::ScanFinished);
                      I get a run time exception

                      The inferior stopped because it received a signal from the operating system.

                      in devise.h

                      signals:
                          void scanFinished();
                      

                      in my h

                      public slots:
                          void ScanFinished();
                      

                      seems OK.

                      So this is wrong

                      Device::Device()
                      {
                          connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::finished, this, &Device::scanFinished);
                      }
                      

                      I connect a signal to a signal.

                      jsulmJ Offline
                      jsulmJ Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #35

                      @jenya7 said in Qt Bluetooth - no devices discovered.:

                      I get a run time exception

                      Then run through debugger to see where and why exactly it is crashing...
                      I guess it is crashing inside ScanFinished() slot.

                      Connecting a signal to another signal is perfectly valid.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt
                      • Unsolved