Russian Qt Forum
Май 18, 2012, 19:57
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
(Модератор:
Sergeich
) >
[РЕШЕНО] QZipWriter отсутствует в QtGui
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [РЕШЕНО] QZipWriter отсутствует в QtGui (Прочитано 640 раз)
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 4122
Жаждущий знаний
[РЕШЕНО] QZipWriter отсутствует в QtGui
«
:
Январь 19, 2012, 10:38 »
Собираю 4.8.0 и 4.7.4 с одинаковыми параметрами:
Код:
configure.exe -debug-and-release -opensource -shared -no-fast -exceptions -stl -qt-sql-sqlite -no-qt3support -platform win32-g++ -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-dsp -no-vcproj -plugin-manifests -qmake -no-phonon -no-phonon-backend -webkit -declarative -declarative-debug
В итоге, в QtGui4.dll от 4.7.4 отсутствует QZipWriter, а от 4.8.0 он присутствует. В чем косяк с версией 4.7.4?
«
Последнее редактирование: Январь 19, 2012, 16:53 от Пантер
»
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
С уважением.
Пантер.
LisandreL
Супер активный житель
Offline
Сообщений: 765
Надо улыбаться
Re: QZipWriter отсутствует в QtGui
«
Ответ #1 :
Январь 19, 2012, 11:30 »
В 4.7.4 ?/include/QtGui/ не содержит приватных классов.
В 4.8.0 в ?/include/QtGui/private/ лежат заголовочники, не являющие частью Qt API.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 4122
Жаждущий знаний
Re: QZipWriter отсутствует в QtGui
«
Ответ #2 :
Январь 19, 2012, 11:42 »
LisandreL, это чинится?
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
С уважением.
Пантер.
LisandreL
Супер активный житель
Offline
Сообщений: 765
Надо улыбаться
Re: QZipWriter отсутствует в QtGui
«
Ответ #3 :
Январь 19, 2012, 12:03 »
Закидыванием qzipwriter_p.h в папку поекта, например.
Можно было бы даже вот такую конструкцию соорудить:
Код:
#if QT_VERSION_CHECK < 0x040800
#include "qzipwriter_p.h"
#else
#include #include <QtGui/private/qzipwriter_p.h>
#endif
Но QT_VERSION_CHECK всё ещё равно 0x0x040704 в 4.8.0.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 4122
Жаждущий знаний
Re: QZipWriter отсутствует в QtGui
«
Ответ #4 :
Январь 19, 2012, 12:10 »
Не, тут другой косяк. Хидер-то я закинул. Проблема на этапе линковки - анрезолвед выдает.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
С уважением.
Пантер.
LisandreL
Супер активный житель
Offline
Сообщений: 765
Надо улыбаться
Re: QZipWriter отсутствует в QtGui
«
Ответ #5 :
Январь 19, 2012, 13:21 »
Ну покажите подробности.
Кусок кода, ошибки линковки.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 4122
Жаждущий знаний
Re: QZipWriter отсутствует в QtGui
«
Ответ #6 :
Январь 19, 2012, 13:26 »
Код:
Linking CXX executable tar2moscow.exe
CMakeFiles\tar2moscow.dir/objects.a(targetRepresentationMoscow.cpp.obj): In function `ZN17MoscowFormatSaver8saveDataERK7QStringRK10QByteArrayS5_':
C:/panter/program/Tar2Moscow/src/core/targetRepresentationMoscow.cpp:488: undefined reference to `QZipWriter::device() const'
C:/panter/program/Tar2Moscow/src/core/targetRepresentationMoscow.cpp:489: undefined reference to `QZipWriter::status() const'
C:/panter/program/Tar2Moscow/src/core/targetRepresentationMoscow.cpp:500: undefined reference to `QZipWriter::addFile(QString const&, QByteArray const&)'
C:/panter/program/Tar2Moscow/src/core/targetRepresentationMoscow.cpp:502: undefined reference to `QZipWriter::status() const'
C:/panter/program/Tar2Moscow/src/core/targetRepresentationMoscow.cpp:505: undefined reference to `QZipWriter::addFile(QString const&, QByteArray const&)'
C:/panter/program/Tar2Moscow/src/core/targetRepresentationMoscow.cpp:508: undefined reference to `QZipWriter::status() const'
C:/panter/program/Tar2Moscow/src/core/targetRepresentationMoscow.cpp:513: undefined reference to `QZipWriter::status() const'
CMakeFiles\tar2moscow.dir/objects.a(targetRepresentationMoscow.cpp.obj): In function `~ZipWriters':
C:/panter/program/Tar2Moscow/src/core//targetRepresentationMoscow.h:58: undefined reference to `QZipWriter::close()'
C:/panter/program/Tar2Moscow/src/core//targetRepresentationMoscow.h:59: undefined reference to `QZipWriter::~QZipWriter()'
CMakeFiles\tar2moscow.dir/objects.a(targetRepresentationMoscow.cpp.obj): In function `ZN17MoscowFormatSaver10ZipWriters12addZipWriterERK7QStringS1_':
C:/panter/program/Tar2Moscow/src/core//targetRepresentationMoscow.h:68: undefined reference to `QZipWriter::QZipWriter(QString const&, QFlags<QIODevice::OpenModeFlag>)'
C:/panter/program/Tar2Moscow/src/core//targetRepresentationMoscow.h:69: undefined reference to `QZipWriter::setCompressionPolicy(QZipWriter::CompressionPolicy)'
collect2: ld returned 1 exit status
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
С уважением.
Пантер.
ddrtn
Самовар
Offline
Сообщений: 108
Re: QZipWriter отсутствует в QtGui
«
Ответ #7 :
Январь 19, 2012, 13:36 »
там замечательная строчка есть
Код:
#ifndef QT_NO_TEXTODFWRITER
QT_NO_TEXTODFWRITER - определен?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 1880
Re: QZipWriter отсутствует в QtGui
«
Ответ #8 :
Январь 19, 2012, 13:42 »
У тебя QZipWriter не экспортится, т.к. по умолчанию приватные классы не экспортятся.
Включи QT_BUILD_INTERNAL макрос при сборке QtGui либо напрямую вкомпиляй в свой код QZipWriter.
Записан
Qt 4.7.4 (X11/Win)
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 4122
Жаждущий знаний
Re: QZipWriter отсутствует в QtGui
«
Ответ #9 :
Январь 19, 2012, 14:49 »
GreatSnake
, спасибо. -D QT_BUILD_INTERNAL к configure решил проблему.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
С уважением.
Пантер.
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 1880
Re: QZipWriter отсутствует в QtGui
«
Ответ #10 :
Январь 19, 2012, 14:56 »
Цитата: Пантер от Январь 19, 2012, 14:49
GreatSnake
, спасибо. -D QT_BUILD_INTERNAL к configure решил проблему.
Я бы для портабельности всё-таки явно вкомпилил src/gui/text/qzip.cpp.
Записан
Qt 4.7.4 (X11/Win)
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 4122
Жаждущий знаний
Re: QZipWriter отсутствует в QtGui
«
Ответ #11 :
Январь 19, 2012, 15:06 »
Цитата: GreatSnake от Январь 19, 2012, 14:56
Цитата: Пантер от Январь 19, 2012, 14:49
GreatSnake
, спасибо. -D QT_BUILD_INTERNAL к configure решил проблему.
Я бы для портабельности всё-таки явно вкомпилил src/gui/text/qzip.cpp.
У него там еще зависимость от qplatformdefs.h.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
С уважением.
Пантер.
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 1880
Re: QZipWriter отсутствует в QtGui
«
Ответ #12 :
Январь 19, 2012, 15:13 »
Цитата: Пантер от Январь 19, 2012, 15:06
У него там еще зависимость от qplatformdefs.h.
Ну и что? Ведь он публичный и лежит в mkspecs.
Записан
Qt 4.7.4 (X11/Win)
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 4122
Жаждущий знаний
Re: QZipWriter отсутствует в QtGui
«
Ответ #13 :
Январь 19, 2012, 15:19 »
Цитата: GreatSnake от Январь 19, 2012, 15:13
Цитата: Пантер от Январь 19, 2012, 15:06
У него там еще зависимость от qplatformdefs.h.
Ну и что? Ведь он публичный и лежит в mkspecs.
Там их очень много лежит.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
С уважением.
Пантер.
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 1880
Re: QZipWriter отсутствует в QtGui
«
Ответ #14 :
Январь 19, 2012, 15:31 »
Цитата: Пантер от Январь 19, 2012, 15:19
Цитата: GreatSnake от Январь 19, 2012, 15:13
Цитата: Пантер от Январь 19, 2012, 15:06
У него там еще зависимость от qplatformdefs.h.
Ну и что? Ведь он публичный и лежит в mkspecs.
Там их очень много лежит.
Нужный qplatformdefs.h лежит в %QTDIR%\mkspecs\default.
Записан
Qt 4.7.4 (X11/Win)
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
=> Архив
===> Программирование
=====> Python
===> Веб программирование
=====> PHP, PERL, CGI
Загружается...