crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Работа с zip архивами в Qt
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Flatus Дата 5.5.2017, 12:05
 
Цитата(Бублик @ 20.11.2012, 15:14) *
А ни у кого не было проблемы при использования QZipReader?

./debug\XXXX.o:C:\projects\XXXX.cpp:410: undefined reference to `_imp___ZN10QZipReaderC1EP9QIODevice'
./debug\XXXX.o:C:\projects\XXXX.cpp:411: undefined reference to `_imp___ZNK10QZipReader8fileDataERK7QString'
./debug\XXXX.o:C:\projects\XXXX.cpp:424: undefined reference to `_imp___ZN10QZipReaderD1Ev'
./debug\XXXX.o:C:\projects\XXXX.cpp:424: undefined reference to `_imp___ZN10QZipReaderD1Ev'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\Exchange.exe] Error 1
mingw32-make: *** [debug] Error 2
15:55:20: The process "C:\projects\qtsdk\mingw\bin\mingw32-make.exe" exited with code 2.


В чем может быть беда?

В файле *.pro :
QT += gui-private

В исходнике подклчать заголовочные файлы как:
#include <QtGui/private/qzipwriter_p.h>
#include <QtGui/private/qzipreader_p.h>
Алексей1153 Дата 21.11.2012, 7:59
  поищи в тырнете по строке ": undefined reference to `_imp___ZN10QZipReaderC1EP9QIODevice'"

к примеру, тут вот советуют

http://www.qtforum.org/article/23703/compi...nce-to-imp.html

QT += qt3support
Бублик Дата 20.11.2012, 17:42
 
Цитата(Алексей1153 @ 20.11.2012, 17:30) *
файлы в проект не подключены


Подключены.
Алексей1153 Дата 20.11.2012, 17:30
  файлы в проект не подключены
Бублик Дата 20.11.2012, 15:14
  А ни у кого не было проблемы при использования QZipReader?

./debug\XXXX.o:C:\projects\XXXX.cpp:410: undefined reference to `_imp___ZN10QZipReaderC1EP9QIODevice'
./debug\XXXX.o:C:\projects\XXXX.cpp:411: undefined reference to `_imp___ZNK10QZipReader8fileDataERK7QString'
./debug\XXXX.o:C:\projects\XXXX.cpp:424: undefined reference to `_imp___ZN10QZipReaderD1Ev'
./debug\XXXX.o:C:\projects\XXXX.cpp:424: undefined reference to `_imp___ZN10QZipReaderD1Ev'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\Exchange.exe] Error 1
mingw32-make: *** [debug] Error 2
15:55:20: The process "C:\projects\qtsdk\mingw\bin\mingw32-make.exe" exited with code 2.


В чем может быть беда?
Ov3r1oad Дата 29.2.2012, 13:17
  Вот использую кусок кода в точности такой же как в статье, но почему в архиве создаются (помимо самих файлов и папок) файлы размером 0 bytes с именем папок. Никто не знает, в чем причина?
Алексей1153 Дата 19.2.2012, 18:34
  Winand, 3210==1000002 , поэтому неудивительно, что при сдвиге этого числа на 16 битов вправо получается 0

но дело вообще не в этом. А вот в этом:

const quint32 mode = (qFromLittleEndian<quint32>(&header.h.external_file_attributes[0]) >> 16) & 0xFFFF;

зачем берётся адрес
Winand Дата 19.2.2012, 13:43
  В qt 4.8 qzip.cpp:420
const quint32 mode = (qFromLittleEndian<quint32>(&header.h.external_file_attributes[0]) >> 16) & 0xFFFF;

mode получается равен нулю, хотя external_file_attributes[0]=32 для файлов, 16 для директорий. В итоге файлы не определяются файлами и не распаковываются. Дальше я пока не разобрался
Rocky Дата 19.1.2011, 11:37
  Да, спасибо, помогло ))
igor_bogomolov Дата 19.1.2011, 11:15
  Rocky, попробуй так
INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/zlib
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 14:53