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.:

    Is it OK?

    Why did you comment out the connect?

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

    @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 2 Replies 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
      #25

      @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 1 Reply Last reply
      0
      • 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