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. creating cpp library using qt
Forum Updated to NodeBB v4.3 + New Features

creating cpp library using qt

Scheduled Pinned Locked Moved General and Desktop
23 Posts 3 Posters 7.1k Views 2 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.
  • A amruz
    28 Jul 2017, 11:02

    @jsulm said in creating cpp library using qt:

    QT += widgets

    can you also help me in writing the main.cpp file..
    how to actually call the mainwindow there with the library output in it

    J Offline
    J Offline
    jsulm
    Lifetime Qt Champion
    wrote on 28 Jul 2017, 11:04 last edited by
    #12

    @amruz You use it as any other library. You're already doing it with Qt.
    Just include the header file of your library and use it. For example create an instance of Worksharedlib.

    #include "sharedlib.h"
    
    int main()
    {
        ...
        Worksharedlib lib;
        lib.show();
        ...
    }

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    A 1 Reply Last reply 28 Jul 2017, 11:08
    0
    • J jsulm
      28 Jul 2017, 11:04

      @amruz You use it as any other library. You're already doing it with Qt.
      Just include the header file of your library and use it. For example create an instance of Worksharedlib.

      #include "sharedlib.h"
      
      int main()
      {
          ...
          Worksharedlib lib;
          lib.show();
          ...
      }
      A Offline
      A Offline
      amruz
      wrote on 28 Jul 2017, 11:08 last edited by
      #13

      @jsulm said in creating cpp library using qt:

      Worksharedlib lib;
      lib.show();

      i used the same way only.. but i am getting error as follows

      /home/amruz/worksharedlib/worksharedlib.h:14: error: undefined reference to `vtable for Worksharedlib'

      J 1 Reply Last reply 28 Jul 2017, 11:15
      0
      • A amruz
        28 Jul 2017, 11:08

        @jsulm said in creating cpp library using qt:

        Worksharedlib lib;
        lib.show();

        i used the same way only.. but i am getting error as follows

        /home/amruz/worksharedlib/worksharedlib.h:14: error: undefined reference to `vtable for Worksharedlib'

        J Offline
        J Offline
        jsulm
        Lifetime Qt Champion
        wrote on 28 Jul 2017, 11:15 last edited by
        #14

        @amruz Will probably not solve that error, but this looks wrong as well:

        QT -= gui
        

        Your app is going to show an UI, right? Then it is a gui app:

        QT += core gui widgets
        

        Don't forget to rerun qmake after changing pro file and rebuild.

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        A 1 Reply Last reply 28 Jul 2017, 11:23
        1
        • J jsulm
          28 Jul 2017, 11:15

          @amruz Will probably not solve that error, but this looks wrong as well:

          QT -= gui
          

          Your app is going to show an UI, right? Then it is a gui app:

          QT += core gui widgets
          

          Don't forget to rerun qmake after changing pro file and rebuild.

          A Offline
          A Offline
          amruz
          wrote on 28 Jul 2017, 11:23 last edited by
          #15

          @jsulm said in creating cpp library using qt:

          QT += core gui widgets

          this is a console application actually..is that the problem?

          J 1 Reply Last reply 28 Jul 2017, 11:35
          0
          • A amruz
            28 Jul 2017, 11:23

            @jsulm said in creating cpp library using qt:

            QT += core gui widgets

            this is a console application actually..is that the problem?

            J Offline
            J Offline
            jsulm
            Lifetime Qt Champion
            wrote on 28 Jul 2017, 11:35 last edited by
            #16

            @amruz If it is a console application then why do you want to use a library which provides an UI class:

            class WORKSHAREDLIBSHARED_EXPORT Worksharedlib:public QWidget
            {
            
               Q_OBJECT
            public:
                //Worksharedlib();
                Worksharedlib(QWidget *parent = 0);
                ~Worksharedlib() {}
            
            private slots:
               void handleButton();
               void m_buttonClicked();
            
            private:
               QPushButton *m_button;
               QLineEdit *m_textbox;
               QHBoxLayout *layout;
               QWidget *window;
               QLabel * label;
               QWidget *frame;
            };
            

            ?

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            A 1 Reply Last reply 28 Jul 2017, 12:43
            0
            • J jsulm
              28 Jul 2017, 11:35

              @amruz If it is a console application then why do you want to use a library which provides an UI class:

              class WORKSHAREDLIBSHARED_EXPORT Worksharedlib:public QWidget
              {
              
                 Q_OBJECT
              public:
                  //Worksharedlib();
                  Worksharedlib(QWidget *parent = 0);
                  ~Worksharedlib() {}
              
              private slots:
                 void handleButton();
                 void m_buttonClicked();
              
              private:
                 QPushButton *m_button;
                 QLineEdit *m_textbox;
                 QHBoxLayout *layout;
                 QWidget *window;
                 QLabel * label;
                 QWidget *frame;
              };
              

              ?

              A Offline
              A Offline
              amruz
              wrote on 28 Jul 2017, 12:43 last edited by
              #17

              @jsulm which application should i use to test this library?

              J 1 Reply Last reply 28 Jul 2017, 12:44
              0
              • A amruz
                28 Jul 2017, 12:43

                @jsulm which application should i use to test this library?

                J Offline
                J Offline
                jsulm
                Lifetime Qt Champion
                wrote on 28 Jul 2017, 12:44 last edited by
                #18

                @amruz gui?

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                A 1 Reply Last reply 28 Jul 2017, 12:48
                0
                • J jsulm
                  28 Jul 2017, 12:44

                  @amruz gui?

                  A Offline
                  A Offline
                  amruz
                  wrote on 28 Jul 2017, 12:48 last edited by
                  #19

                  @jsulm do you mean qt widget application?

                  J 1 Reply Last reply 28 Jul 2017, 12:51
                  0
                  • A amruz
                    28 Jul 2017, 12:48

                    @jsulm do you mean qt widget application?

                    J Offline
                    J Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on 28 Jul 2017, 12:51 last edited by
                    #20

                    @amruz Yes. You're using widgets - so it must be a gui application with widgets, right?

                    QT += core gui widgets
                    

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    A 2 Replies Last reply 28 Jul 2017, 12:55
                    0
                    • J jsulm
                      28 Jul 2017, 12:51

                      @amruz Yes. You're using widgets - so it must be a gui application with widgets, right?

                      QT += core gui widgets
                      
                      A Offline
                      A Offline
                      amruz
                      wrote on 28 Jul 2017, 12:55 last edited by
                      #21

                      @jsulm when i try to include this library in a widget application also i am getting the same error..

                      this is the .pro file of my widgetapplication

                      #-------------------------------------------------
                      #
                      # Project created by QtCreator 2017-07-27T17:19:21
                      #
                      #-------------------------------------------------
                      
                      QT       += core gui widgets
                      
                      greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
                      
                      TARGET = sharedlibtryinwidget
                      TEMPLATE = app
                      
                      
                      SOURCES += main.cpp\
                              mainwindow.cpp
                      
                      HEADERS  += mainwindow.h
                      
                      DEPENDPATH += /home/amruz/worksharedlib
                      INCLUDEPATH += /home/amruz/worksharedlib
                      LIBS += -L/home/amruz/build-worksharedlib-Desktop_Qt_5_7_0_GCC_64bit-Debug -lworksharedlib
                      
                      
                      
                      A 1 Reply Last reply 28 Jul 2017, 13:14
                      0
                      • A amruz
                        28 Jul 2017, 12:55

                        @jsulm when i try to include this library in a widget application also i am getting the same error..

                        this is the .pro file of my widgetapplication

                        #-------------------------------------------------
                        #
                        # Project created by QtCreator 2017-07-27T17:19:21
                        #
                        #-------------------------------------------------
                        
                        QT       += core gui widgets
                        
                        greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
                        
                        TARGET = sharedlibtryinwidget
                        TEMPLATE = app
                        
                        
                        SOURCES += main.cpp\
                                mainwindow.cpp
                        
                        HEADERS  += mainwindow.h
                        
                        DEPENDPATH += /home/amruz/worksharedlib
                        INCLUDEPATH += /home/amruz/worksharedlib
                        LIBS += -L/home/amruz/build-worksharedlib-Desktop_Qt_5_7_0_GCC_64bit-Debug -lworksharedlib
                        
                        
                        
                        A Offline
                        A Offline
                        amruz
                        wrote on 28 Jul 2017, 13:14 last edited by
                        #22

                        @amruz i also found that when destructor is not included this type of error may occur..but when i added destructor also the same problem exists

                        1 Reply Last reply
                        0
                        • J jsulm
                          28 Jul 2017, 12:51

                          @amruz Yes. You're using widgets - so it must be a gui application with widgets, right?

                          QT += core gui widgets
                          
                          A Offline
                          A Offline
                          amruz
                          wrote on 28 Jul 2017, 13:26 last edited by amruz
                          #23

                          @jsulm it worked finally! thanks a lot for all the help

                          the problem was qobject in the library , i removed it and it worked.

                          1 Reply Last reply
                          0

                          21/23

                          28 Jul 2017, 12:55

                          • Login

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