связывание QuaZip с Qt 4.8.0 в проект - PullRequest
1 голос
/ 10 февраля 2012

У меня есть проект, в который я хочу распаковать файлы.Я обнаружил, что Quazip близок к реализации, которую я хочу (проверьте), но ....

при сборке проекта компилятор говорит

Makefile.Release: 241: предупреждение: переопределение команд для цели
release/moc_quazipfile.o' Makefile.Release:219: warning: ignoring<br> old commands for target release / moc_quazipfile.o '
release \ moc_quazipfile.cpp: 40: предупреждение:' static void
QuaZipFile :: qt_static_metacall (QObject *, QMetaObject :: Call, int,
void **) 'повторно объявлено без атрибута dllimport: предыдущий dllimport проигнорирован релиз \ moc_quazipfile.cpp: 48: предупреждение:
' QuaZipFile :: staticMetaObjectExtraData 'повторно объявлен без атрибута dllimport после ссылки на релиз dll * 1012\ moc_quazipfile.cpp: 52: предупреждение:
'QuaZipFile :: staticMetaObject' переименовывается без атрибута dllimport после ссылки на dll-связку
release \ moc_quazipfile.cpp: 61: предупреждение: 'виртуальный констант QMetaObject * metazip() const 'повторно объявлено без атрибута dllimport
: предыдущая версия dllimport игнорируется \ moc_quazipfile.cpp: 66: warning: 'virtual void * QuaZipFile :: qt_metacast (const char *)'
повторно объявлен без атрибута dllimport: предыдущий dllimport игнорируется
release \ moc_quazipfile.cpp: 74: предупреждение: 'virtual int
QuaZipFile :: qt_metacall(QMetaObject :: Call, int, void *) 'повторно объявлено без атрибута dllimport: предыдущий dllimport игнорируется
mingw32-make.exe [1]: выход из каталога `
*
** quazip_test-build-desktop-Qt_4_8_0_for_Desktop _- MinGW _Qt_SDK__Release 'release \ moc_quazipfile.cpp: 48: ошибка: определение статических данных
член' QuaZipFile :: staticMetaDort 'класса dобъявления классов-make.exe [1]: * [release / moc_quazipfile.o] Ошибка 1
mingw32-make.exe: *
[выпуск] Ошибка 2 13:29:01: процесс
«C: \ QtSDK \ mingw \ bin \ mingw32-make.exe» завершен с кодом 2. Ошибка при создании проекта quazip_test (target: Desktop) При выполнении сборки
шаг 'Make'

.pro:

QT       += core gui

TARGET = quazip_test
TEMPLATE = app

INCLUDEPATH += C:/QtSDK/QtSources/4.8.0/src/3rdparty/zlib

SOURCES += main.cpp\
        mainwindow.cpp \
    quazip/quazipnewinfo.cpp \
    quazip/quazipfile.cpp \
    quazip/quazip.cpp \
    quazip/quacrc32.cpp \
    quazip/qioapi.cpp \
    quazip/moc_quazipfile.cpp \
    quazip/JlCompress.cpp \
    quazip/quaadler32.cpp

HEADERS  += mainwindow.h \
    quazip/crypt.h \
    quazip/unzip.h \
    quazip/quaadler32.h \
    quazip/quazipnewinfo.h \
    quazip/quazipfileinfo.h \
    quazip/quazipfile.h \
    quazip/quazip_global.h \
    quazip/quazip.h \
    quazip/quacrc32.h \
    quazip/quachecksum32.h \
    quazip/JlCompress.h \
    quazip/ioapi.h \    
    quazip/zip.h

FORMS    += mainwindow.ui

mainwindow.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "quazip/quazip.h"
#include "quazip/quazipfile.h"


namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

майnwindow.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QuaZip *temp = new QuaZip();
}

MainWindow::~MainWindow()
{

    delete ui;
}

Что я делаю не так ??

BR

...