Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 7

MinGW-w64 для Windows и zlib

16.12.2019, 13:07. Показов 2996. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Установил сборку (необходим std::thread) и подключил к IDE Code::Blocks. Затем скачал zlib и собрал через msys (configure -> make) в итоге создались libz.a, libzdll.a, zlib1.dll. Установил в среде Code::Blocks пути к этим файлам (для линковщика и компилятора) и при попытке скомпилировать проект, где используются, например, функции gzopen(), gzclose() и т.д. ругается на то, что они неопределены.

Подскажите, пожалуйста, как правильно подключить zlib.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2019, 13:07
Ответы с готовыми решениями:

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и TDM-GCC? Какие плюсы/минусы у этих трех...

MinGW for Windows - libpng ./configure - error: zlib not installed
Пользуюсь MinGW for Windows. Устанавливалось согласно этого мануала: http://wiki.openttd.org/Компиляция_на_MinGW/Ru (открывайте...

MinGW-w64 компиляция
Проблема не могу скомпилировать код под x64 пробовал с ключом -m64 выдаёт ошибку "sorry, unimplemented: 64-bit mode not compiled...

9
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
16.12.2019, 13:18
Цитата Сообщение от mathExp Посмотреть сообщение
ругается на то, что они неопределены.
А заголовочный файл-то вы подключили?

Добавлено через 1 минуту
Цитата Сообщение от mathExp Посмотреть сообщение
Установил в среде Code::Blocks пути к этим файлам
И как установили тоже покажите.
0
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 7
16.12.2019, 13:20  [ТС]
DrOffset, да, подключил.
C++
1
#include "zlib.h"
Добавлено через 2 минуты
Прописывал пути в Code::Blocks по инструкции
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
16.12.2019, 13:28
Цитата Сообщение от mathExp Посмотреть сообщение
Установил сборку (необходим std::thread) и подключил к IDE Code::Blocks. Затем скачал zlib и собрал через msys
Еще такой вопрос. У вас в msys среде используется тот же компилятор (MinGW-w64) или другой?

Добавлено через 5 минут
Цитата Сообщение от mathExp Посмотреть сообщение
libz.a, libzdll.a,
Подключать надо какую-то одну из них. Первую, если используете статическую сборку и вторую, если нужно линковать dll. Обе сразу не подключайте.
0
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 7
16.12.2019, 13:38  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Еще такой вопрос. У вас в msys среде используется тот же компилятор (MinGW-w64) или другой?
в консоли msys перешел в каталог с исходными файлами zlib и выполнил configure далее make не указывая ничего иного. Скорее всего собралось, используя mingw32-make ...
Не подскажите как собрать, используя компилятор под w64 ?
Возможно, необходимо использовать msys2?
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
16.12.2019, 13:42
Цитата Сообщение от mathExp Посмотреть сообщение
в консоли msys перешел в каталог с исходными файлами zlib и выполнил configure далее make не указывая ничего иного. Скорее всего собралось, используя mingw32-make ...
В таком случае я бы грешил на то, что вы собрали библиотеки в одной разрядности (т.е. в 32 бита), а использовать пытаетесь в другой (т.е. в 64 бита).

Цитата Сообщение от mathExp Посмотреть сообщение
Возможно, необходимо использовать msys2?
Да, лучше использовать его. Потому что там в комплекте и mingw под обе разрядности и zlib уже собранный. Т.е. вам только нужно поставить пакеты.
0
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 7
16.12.2019, 13:59  [ТС]
Скорее всего что-то не так...
Кликните здесь для просмотра всего текста
0
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 7
16.12.2019, 14:47  [ТС]
Переустановка помогла. Обновил системные пакеты.

Добавлено через 14 минут
Готово!
Скачал через пакетный менеджер zlib и в code::blocks указал пути к скачанным файлам (а именно, к libz.a)

Добавлено через 25 секунд
DrOffset, Большое спасибо за помощь!
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
16.12.2019, 15:15
Цитата Сообщение от mathExp Посмотреть сообщение
Скачал через пакетный менеджер zlib и в code::blocks указал пути к скачанным файлам (а именно, к libz.a)
При условии, что вы прописали в качестве основного компилятора в codeblocks компилятор из состава msys2, в опциях линковщика вам нужно будет указывать только имя библиотеки, без пути. Т.е. вот так: z (да, да, тут нет ошибки, просто буква z). пути к заголовочным файлам тоже явно указывать в этом случае не нужно. Это очень удобно, если у вас проект требует сразу несколько зависимостей. Вы их ставите через пакетный менеджер, прописываете имена библиотек аналогично и все.

Добавлено через 1 минуту
Вообще прописывать путь полностью (как в вашей инструкции на скрине B) - это моветон, при такой конфигурации перенести проект на другую машину становится не просто. Не делайте так по возможности.
0
68 / 55 / 13
Регистрация: 26.07.2021
Сообщений: 191
20.05.2023, 03:18
Подскажите, пожалуйста, это у меня что-то не так, или это я в очередной раз напоролся на ошибку в компиляторе?

Пытаюсь в среде MSYS2 собрать zlib 1.2.13.
Запускаю "configure", запускаю "make", всё отрабатывает нормально, но затем запускаю "make test" и получаю ошибку "gzread err:" при проверке работы с большими (больше 4 ГБ) файлами.
Проверку эту скрипт производит запуском программы "example64.exe".

(Да, в подкаталоге "win32" исходников библиотеки есть "makefile.gcc" специально для MinGW, но это древность 2012 года, и там поддержка больших файлов не предусмотрена в принципе.)

Ладно, отодвигаю свою сборку библиотеки в сторону и беру ту готовую, которая есть в MSYS2. С ней компилирую файл "example.c" из исходников библиотеки ровно теми же командами, которые использует make:
Code
1
2
gcc -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -c -o example64.o example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -o example64.exe example64.o libz.a
Запускаю example64.exe, получаю ровно ту же ошибку "gzread err:".

Иду дальше: смотрю на сайте MSYS2 скрипт, которым они собирали zlib, и вижу, что они к официальным исходникам применяли патч для поддержки больших файлов! Так почему же у меня официальная тестовая программа, собранная даже с их пропатченной библиотекой, выдаёт ошибку работы с такими файлами?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2023, 03:18
Помогаю со студенческими работами здесь

Установка curl для QtCreator, MingW, Windows
Скачал архив с curl. Распаковал. Получилось следующее. Далее в .pro-файл пишу следующее Пытаюсь запустить пробный пример...

Может ли MinGW x64 компилить приложения x32? Или нужно для этого отдельно ещё MinGW х32 качать?
Просто решил поиграться с CodeLite.

Графические и GUI библиотеки для С++ под чистый компилятор (MinGW 64bit Windows) без IDE?
Подскажите пожалуйста Графические и GUI библиотеки для С++ под компилятор MinGW 64bit Windows, но такие библеотеки которые можно юзать без...

MinGW for Windows - libpng ./configure - error: zlib not installed
подробней написано по ссылке: https://www.cyberforum.ru/cpp-beginners/thread639137.html помогите плиз.

MinGW-w64 и Qt
Узнал, что есть такая штука, как mingw 64bit. И тут мне стало интересно, будет ли qt поддерживать 64bit и поддерживает ли сейчас?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru