将NCRport 2.10.0与Qt 5.1.0集成时出错



我开始将NCReport集成到我的应用程序中,但我总是收到这些错误

她是我的.pro文件

#-------------------------------------------------
#
# 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 = app

SOURCES += 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.cpp
    HEADERS  += 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.h
FORMS    += mainwindow.ui 
    produit.ui 
    client.ui 
    bondelivraison.ui 
    chercherproduit.ui 
    chercherclientproduitwidget.ui 
    fournisseur.ui 
    chercherfournisseur.ui 
    vente.ui

       INCLUDEPATH = "E:apprendreQtgestionstock6includesinclude"
       LIBS = "E:apprendreQtgestionstock6includeslibNCReport2.lib"

这是我对ncreport 的实现

void Vente::on_pushButton_4_clicked()
{
    NCReport *report = new NCReport(this);
    report->reset(true);
    report->setReportFile("E:apprendreQtbuild-gestionstock6-Desktop_Qt_5_1_0_MinGW_32bit-Debugreportsabdeu.xml");
    report->runReportToQtPreview();
}

当我编译我的项目文件时,我得到了低于的错误

我已经试过很多次了,但同样的问题

E:apprendreQtgestionstock6vente.cpp:222: erreur : undefined reference to `_imp___ZN8NCReport5resetEb'
E:apprendreQtgestionstock6vente.cpp:223: erreur : undefined reference to `_imp___ZN8NCReport13setReportFileERK7QString'
E:apprendreQtgestionstock6vente.cpp:225: erreur : undefined reference to `_imp___ZN8NCReport20runReportToQtPreviewEv'
collect2.exe:-1: erreur : error: ld returned 1 exit status

看起来您使用的是不兼容的库。

这告诉我你正在使用MinGW编译器

report->setReportFile("E:apprendreQtbuild-gestionstock6-Desktop_Qt_5_1_0_MinGW_32bit-Debugreportsabdeu.xml");

但是在.pro文件中,包含了来自不同编译器(很可能是MSVisualStudio)的静态链接库

LIBS = "E:apprendreQtgestionstock6includeslibNCReport2.lib"

MinGW的库应该具有.a扩展,而不是.lib扩展。

不仅如此,您还错误地使用了LIBS变量。对于MinGW编译器,应该分别指定库路径(使用-L)和库本身(使用-l)。

你可以在单独的线路上这样做:

LIBS += "-L/path/to/libraries"
LIBS += "-lmylibrary.a"

或单行:

LIBS += "-L/path/to/libraries -lmylibrary.a"

相关内容

  • 没有找到相关文章

最新更新