Problem itegrating Ncreport to my application
-
Hi every body
i got a probleme when i want to itegrate ncreport to my projects
her is what i use in .pro file
@QT = xml sql gui core
TEMPLATE = app
CONFIG += warn_on
qt
thread
release
TARGET = MyApplication
INCLUDEPATH = ncreport/includes
HEADERS += ...
SOURCES += ...
win32 {
LIBS += lib/NCReport2.lib
}@Note: my apllication directory is : E:\apprendreQt\gestionstock6
ncreport includes directory is : E:\apprendreQt\gestionstock6\ncreport\includes
ncreport lib directory is : E:\apprendreQt\gestionstock6\ncreport\lib
i get the error
@
:-1: erreur : cannot find -l/ncreport2.lib@ -
Now i got this error
E:\apprendreQt\gestionstock6\vente.cpp:221: erreur : undefined reference to `_imp___ZN8NCReportC1EP7QObject'
-
Hi,
You should rather have something like this:
@
LIBS += -Llib -lNCReport2
@
it's a lower case before NCReport2 -
i always get the same error
her is my .pro file after update
@#-------------------------------------------------
Project created by QtCreator 2013-08-14T17:44:33
#-------------------------------------------------
QT += core gui sql xml
greaterThan(QT_MAJOR_VERSION, 4){
QT += widgets printsupport
DEFINES += HAVE_QT5
}TARGET = gestionstock6
TEMPLATE = appSOURCES += main.cpp
mainwindow.cpp
produit.cpp
customqtablewidget.cpp
customdelegatecombobox.cpp
customproxy.cpp
client.cpp
bondelivraison.cpp
chercherproduit.cpp
chercherclientproduitwidget.cpp
fournisseur.cpp
chercherfournisseur.cpp
vente.cppHEADERS += mainwindow.h
customqtablewidget.h
customdelegatecombobox.h
customproxy.h
client.h
bondelivraison.h
chercherproduit.h
produit.h
produit.h
produit.h
chercherclientproduitwidget.h
fournisseur.h
chercherfournisseur.h
vente.hFORMS += mainwindow.ui
produit.ui
client.ui
bondelivraison.ui
chercherproduit.ui
chercherclientproduitwidget.ui
fournisseur.ui
chercherfournisseur.ui
vente.uiINCLUDEPATH += "E:\apprendreQt\gestionstock6\includes\include"
LIBS += -L"E:\apprendreQt\gestionstock6\includes\lib\NCReport2.lib" -lNCReport2
@ -
No backslash in paths
And the -L switch is to add a path to the list of searchable location to get libriaries to link.@
LIBS += -L"E:/apprendreQt/gestionstock6/includes/lib" -lNCReport2
@ -
i'm using using Qtcreator with minGW 4.8 compilator
my libs : NCReport2.lib
NCReportDebug2.libi tried this but still getting an other error
@INCLUDEPATH += "E:/apprendreQt/gestionstock6/includes/include"
LIBS += -L"E:/apprendreQt/gestionstock6/includes/lib"-lNCReport2@this is the message in french "Le programme s'est terminé subitement."
i think is " The program ended suddenly." in english
-
If you want to have the proper lib linked you can use a construct like this
@
NCREPORT = NCReport2
CONFIG(debug, debug|release): NCREPORT = NCReport2Debug
LIBS += -l$$NCREPORT
@So your can start your application now and you are probably missing some dependencies. Do you have the path to your NCReport2 dll in your PATH ?
-
no, should i include NCReport.dll ??
and how i can do this ?
-
Either edit the PATH variable in the Run panel and add the path where NCReport.dll is contained or copy the dll in your executable folder.
-
after placing NCReport2.dll with my .exe file , i got the same error
“Le programme s’est terminé subitement.”
i think is “ The program ended suddenly.” in english
this is .pro file
@#-------------------------------------------------
Project created by QtCreator 2013-08-14T17:44:33
#-------------------------------------------------
QT += core gui sql
greaterThan(QT_MAJOR_VERSION, 4){
QT += widgets printsupport
DEFINES += HAVE_QT5
}TARGET = gestionstock6
TEMPLATE = appSOURCES += main.cpp
mainwindow.cpp
produit.cpp
customqtablewidget.cpp
customdelegatecombobox.cpp
customproxy.cpp
client.cpp
bondelivraison.cpp
chercherproduit.cpp
chercherclientproduitwidget.cpp
fournisseur.cpp
chercherfournisseur.cpp
vente.cppHEADERS += mainwindow.h
customqtablewidget.h
customdelegatecombobox.h
customproxy.h
client.h
bondelivraison.h
chercherproduit.h
produit.h
produit.h
produit.h
chercherclientproduitwidget.h
fournisseur.h
chercherfournisseur.h
vente.hFORMS += mainwindow.ui
produit.ui
client.ui
bondelivraison.ui
chercherproduit.ui
chercherclientproduitwidget.ui
fournisseur.ui
chercherfournisseur.ui
vente.uiINCLUDEPATH += "E:/apprendreQt/gestionstock6/includes/include"
LIBS += -L"E:/apprendreQt/gestionstock6/includes/lib"-lNCReport2
@ -
Then start your program in debug mode with a debugger.
This error message just says that the application died not why.
-
Unfotaintly, i start it in debug mode , and i got this error
@during startup program exited with code 0xc0000139@ -
Then check that all dlls you might be using can be found at runtime
-
i'm using only
QT += core gui sql xml
and they are present in the C:\Qt\Qt5.1.0\5.1.0\mingw48_32\bin
and for NCReport lib i have placed with the .exe file in the same directory
really i have no idea about this porblem
-
Now i getting this error
@E:\apprendreQt\gestionstock6\vente.cpp:25: erreur : undefined reference to `_imp___ZN8NCReportC1EP7QObject'
E:\apprendreQt\build-gestionstock6-Desktop_Qt_5_1_0_MinGW_32bit-Debug\debug\vente.o:-1: In function `ZN5Vente23on_pushButton_4_clickedEv':
E:\apprendreQt\gestionstock6\vente.cpp:222: erreur : undefined reference to `_imp___ZN8NCReport5resetEb'
E:\apprendreQt\gestionstock6\vente.cpp:223: erreur : undefined reference to `_imp___ZN8NCReport13setReportFileERK7QString'
E:\apprendreQt\gestionstock6\vente.cpp:224: erreur : undefined reference to `_imp___ZN8NCReport20runReportToQtPreviewEv'@
this is my implementation of NCreport
@void Vente::on_pushButton_4_clicked()
{
m_report->reset(true);
m_report->setReportFile("E:/apprendreQt/build-gestionstock6-Desktop_Qt_5_1_0_MinGW_32bit-Debug/reports/abdeu.xml");
m_report->runReportToQtPreview();}@
-
is NCReport also built with mingw ?
-
i don't konw ,because i have no exprience with Mingw ,
but i have download the last version from official site for Qt 5.1.0
and his extension is .lib
-
Then there's your problem, you are trying to link a library built with VisualStudio while using mingw. The name of the installers from the download section of NCReport is pretty clear.
-
yeah i have downloaded all versions
@application/octet-stream NCReport2.10.0_Windows_x86_VS2010_Qt5.1.0_Evaluation.exe (18.0 MB)
application/octet-stream NCReport2.10.0_Windows_x86_VS2010_Qt4.8.5_Evaluation.exe (10.6 MB)
application/octet-stream NCReport2.10.0_Windows_x86_MinGW_Qt4.8.5_Evaluation.exe (14.1 MB)@
i have used the last one but not working for me also
i'm using Qt 5.1.0
plz help me i'm completely lost
-
You can't use a library built with Qt 4 if you are using Qt 5 and also AFAIK, you can't link a c++ library from visual studio using mingw. So you have two options:
Change your Qt version and compiler for Visual Studio
Ask the NCReport developer to release a Qt 5 mingw version