creating cpp library using qt
-
@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'
-
@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.
-
@jsulm said in creating cpp library using qt:
QT += core gui widgets
this is a console application actually..is that the problem?
-
@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; };
?
-
@jsulm which application should i use to test this library?
-
@amruz gui?
-
@jsulm do you mean qt widget application?
-
@amruz Yes. You're using widgets - so it must be a gui application with widgets, right?
QT += core gui widgets
-
@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
-
@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
-
@jsulm it worked finally! thanks a lot for all the help
the problem was qobject in the library , i removed it and it worked.