Russian Qt Forum
Март 29, 2024, 09:36
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
Подключение QuaZip
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Подключение QuaZip (Прочитано 7465 раз)
Dark Jedi
Гость
Подключение QuaZip
«
:
Июнь 24, 2016, 18:29 »
Здравствуйте! Уже два дня мучаюсь с подключением библиотеки QuaZip. Вот zlib подключается и работает нормально, а QuaZip сначала пытался подключать через pri файлы в папке библиотеки, потом по вот этой инструкции:
http://www.prog.org.ru/topic_25880_0.html
. В первом случае все время выдавались ошибки типа undefined reference to _imp_набор_букв_и_цифр. Во втором случае, скачанный CMake, выдавал ошибки на мою установку компилировать под mingw makefiles. Как я понял, это из-за того что он не находит компилятор mingw, поскольку под Visual Studio оно компилирует без ошибок (но мне нужно именно под mingw). Еще где-то видел, что писали "зачем этот cmake, если qmake более родной и удобный", но это не вариант ибо мои знания о qmake заканчиваются на нажатии кнопки "Запустить qmake" в меню "Сборка" в Qt. Объясните пожалуйста как установить эту библиотеку нормально (ну и, по возможности, в дополнение, как работать с qmake).
Записан
Kurles
Бывалый
Offline
Сообщений: 480
Re: Подключение QuaZip
«
Ответ #1 :
Июнь 26, 2016, 21:12 »
У меня подключено так:
в .pro файле приложения, в инклюде поменять путь до расположения файла
quazip.pri
библиотеки.
Код:
#QuaZip support
DEFINES += QUAZIP_STATIC
include($$PWD/../3rdparty/quazip/quazip.pri)
LIBS += -lz
#end QuaZip support
Записан
Код
C++ (Qt)
while
(
!
asleep
(
)
)
sheep
++;
Dark Jedi
Гость
Re: Подключение QuaZip
«
Ответ #2 :
Июнь 27, 2016, 09:32 »
Сделал как вы сказали, в итоге сам класс QuaZip стал виден в файле, где использую его, но почему-то не находятся конструктор и деструктор класса (undefined reference ...), хотя нужные файлы подключены (quazip.h как минимум). И при сборке qmake выдает ошибку "Extra characters after test expression." в файле quazip.pri на строке после подключения всех header'ов (просто пустая строка между подключением header'ов и source файлов), но при компиляции компилятор не обращает внимания на эту ошибку, даже не смотря на то, что это ошибка, а не предупреждение.
«
Последнее редактирование: Июнь 27, 2016, 09:45 от Dark Jedi
»
Записан
DarkHobbit
Самовар
Offline
Сообщений: 189
Quazip работает, осталось разобраться с zlib
«
Ответ #3 :
Май 08, 2017, 13:07 »
Цитата: Kurles от Июнь 26, 2016, 21:12
У меня подключено так: ...
Код:
#QuaZip support
DEFINES += QUAZIP_STATIC
include($$PWD/../3rdparty/quazip/quazip.pri)
LIBS += -lz
#end QuaZip support
Я делал примерно так же. Осталась проблема сказать проекту, где лежат включаемые файлы от zlib (zlib.h и что-то ещё). В линуксе с этим проблем нет, а вот для Windows пришлось городить костыль: включить
абсолютный
путь к zlib в INCLUDEPATH. Программа собралась, QuaZip работает и вытаскивает всё, что мне нужно, но ясно, что это страшенный костыль, который будет работать только на одной машине.
Есть ли более элегантное решение? Пока из альтернатив вижу только вариант затащить в 3rdpaty ещё и сам zlib и попробовать прикомпоновать статически и его, но я бы не назвал этот вариант элегантным
«
Последнее редактирование: Май 08, 2017, 13:15 от DarkHobbit
»
Записан
Мои проекты на Qt:
DoubleContact
,
LInvert
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Quazip работает, осталось разобраться с zlib
«
Ответ #4 :
Май 08, 2017, 14:29 »
Цитата: DarkHobbit от Май 08, 2017, 13:07
Есть ли более элегантное решение? Пока из альтернатив вижу только вариант затащить в 3rdpaty ещё и сам zlib и попробовать прикомпоновать статически и его, но я бы не назвал этот вариант элегантным
Это же Windows. Если хочешь сторонние библиотеки - таскай их с собой.
Записан
DarkHobbit
Самовар
Offline
Сообщений: 189
Re: Quazip работает, осталось разобраться с zlib
«
Ответ #5 :
Май 20, 2017, 09:58 »
Цитата: Alex Custov от Май 08, 2017, 14:29
Это же Windows. Если хочешь сторонние библиотеки - таскай их с собой.
Угу, и нужны-то они только под одну платформу, и обновлять, если что, геморройнее...
В случае zlib ситуация осложняется тем, что Qt её _уже_ таскает с собой, соответственно, плодить сущности решительно не хочется. Поскольку под винду я делаю статическую сборку Qt, я исхитрился: абсолютный путь прописал не абы куда, а к каталогу, где zlib лежит как 3d-party библиотека. То есть инклуд гарантированно соответствует самой библиотеке. Всё замечательно, но:
Проект открытый, кому-то может захотеться сделать и динамическую виндосборку. Ему точно придётся резать файл проекта "под себя";
Даже при статической сборке абсолютный путь зависит от версии Qt, от диска...
«
Последнее редактирование: Май 20, 2017, 10:12 от DarkHobbit
»
Записан
Мои проекты на Qt:
DoubleContact
,
LInvert
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...