Verwendung der "Qdbf" Library unter Windows



  • Hallo zusammen,

    ich beschäftige mich gerade mit einem kleinen Projekt, bei welchem .dbf (DBase) -Files ausgelesen werden müssen.
    Ich weiß, DBase ist von Vor-Vorgestern, aber die Files sind schon vorhanden, und sollen einfach wiederverwendet werden.
    Nun bin ich auf die Bibliothek "Qdbf" ( http://code.google.com/p/qdbf/ ) gestoßen, die unter Mac OS X auch hervorragend funktioniert.
    Unter Windows (7) bekomme ich aber hunderte Warnings und am Schluss den Fehler:

    release\moc_qdbftablemodel.cpp:48:28: Fehler: Definition des statischen Datenele
    mentes »QDbf::QDbfTableModel::staticMetaObjectExtraData« einer »dllimport«-ierte
    n Klasse
    

    Was will mir diese Meldung sagen?
    Ich will doch keine .dll importieren, sondern hab doch die Quelle der Lib vorliegen!?

    Das (unter OS 😵 funktionierende Bsp. ist folgendes:

    #include "qdbftable.h"
    #include "qdbfrecord.h"
    #include <QtGui>
    
    int main(int argv, char **args)
    {
    
    QApplication app(argv, args);
    
    QTextEdit textEdit;
    textEdit.show();
    
    QDbf::QDbfTable table;
    if (!table.open("datei.dbf")) {
        qDebug() << "file open error";
    
    }
    
    QString output;
    
    while (table.next()) {
    
        QDbf::QDbfRecord record = table.record();
        for (int i = 0; i < record.count(); ++i) {
    
          if(!(record.value(i).toString().trimmed()==""))
             {
          if(record.fieldName(i)=="NACHNAME")
             {
                output.append(record.fieldName(i));
                  output.append(QLatin1String(": "));
                    output.append(record.value(i).toString().trimmed());
                  output.append(QLatin1String("; \n"));
             }
          if(record.fieldName(i)=="VORNAME")
          {
             output.append(record.fieldName(i));
               output.append(QLatin1String(": "));
                 output.append(record.value(i).toString().trimmed());
               output.append(QLatin1String("; \r \n"));
          }
             }
    
        }
        qDebug() << output;
    }
    
    table.close();
    textEdit.setText(output);
    
    return app.exec();
    
    }
    

    Es liegt im gleichen Verzeichnis wie die Header-/Quelldateien von qdbf.
    Könnt ihr das unter Windows kompilieren? Wo liegt da der Fehler?

    Grüße
    Julian

    PS: Von qdbf gibt's auch eine .dll. Ist es einfacher, diese zu nutzen? Geht sowas? Soweit gesehen habe, benötigt man anscheinend eine .lib statt einer .dll ...


Anmelden zum Antworten