Code::Blocks
Нечто вроде содержания:
- (Термоядерная?) установка
- Давайте уже libpng натягивать, чего кота-то лохматить?
- Отступление #1
- Контр-(на)ступление #2
Граждане почему-то хотят использовать Code::Blocks;
да ещё и под Windows, Почему — для меня загадка, быть может, логотипы похожи, но некоторую инструкцию по оседланию этого зверя в плане «как в этом использовать libpng (и, возможно, что-то ещё)» я сделал. Так получилось.Установка
Я предполагаю, что установить C::B у вас получилось, что вы используете MinGW/MSYS2 в качестве компилятора (либо его беря из поставки самого C::B, либо ставя самостоятельно).
Если этого не получилось — пишите письма и обрящете.
Давайте уже libpng натягивать, чего кота-то лохматить?
Слушаюсь и повинуюсь:
Нам, значит, нужно где-то взять собранную версию libpng (иначе зачем вы вообще это читаете? Если вы можете собрать libpng без помощи извне, то вам, наверное, скучно тут). Я предлагаю репозиторий MSYS2. libpng для 64-битных систем (у вас 32-битная? Вы, думаю, справитесь с модификацией ссылки; иначе вам, наверное, сложно тут), нам нужен сам пакет и его зависимости (база MSYS2, как сказано выше, у вас уже предполагается имеющейся). На момент написания этого (май 2020) нам нужны
Ещё я предполагаю, что у вас уже создан проект (нет?). Распаковываем оба архива в папку проекта. Дальше — по стрелкам (не стрелкам: смотрите, не перепутайте);⇒
проект у нас консольный; но это не точно и, вообще-то, необязательно);⇒
добавляем папку «include», появившуюся в ходе распаковки, в список поиска препроцессором⇒
говорим компоновщику «давай, замешай нам в создаваемое libpng да zlib: зря мы их качали что-ли?»⇒
тести-—> —>-руем. Мда. </em>.
Отступление #1
Zlib — это библиотека, которая реализует семейство алгоритмов компрессии (сжатия) данных, основанных на придуманной Lempel и Ziv (там ещё Welch помогал) стратегии этого самого сжатия (компрессии) и её развитиях. Охх, PKWare в своё время прямо патенты на свою интеллектуальность брали, развивая(сь?): запустишь, бывало, pkzip и читаешь
PKZIP(R) Version 6.0 FAST! Compression Utility Copyright 1989-2002 PKWARE Inc. All Rights Reserved. Shareware Version PKZIP Reg. U.S. Pat. and Tm. Off. Patent No. 5,051,745.
Почему файл с библиотекой (а это видно из картинки, которая до этого показана, если читать нарисованное) называется libz.a, а не zlib.a?
«Таковы древние и тёмные традиции Un*x (а то и чего похуже)! Сие смертным знать вполне дано, если они помнят, что “-lNAME” у компиляторов /“Компоновщиков!” — раздался глас свыше/ означает «давайте уже найдём файл libNAME.a (или libNAME.s…, но об этом — в следующий раз) в списке каталогов, где обычно (или необычно, что символизирует -L) мы ищем, и скомпонуем его. Отредактируем, то есть, связи (или… впрочем, говорю же: в следующий раз)».
Контр-(на)ступление #2
«А шо же делать, если не С::B и не MSYS2? Сам-то чем дышишь, голуба?»
Без С::B, конечно, трудно; дышать, а особенно — сглатывать.
Не MSYS2? Конечно, Digital Mars. Почему? Всё просто: Mars needs women. Но Open Watcom настолько навевает воспоминания о DOS4/GW Professional Protected Mode Run-time, что прямо стоять совершенно невозможно: хочется сесть и снова (и не/медленно) зачитать спецификацию, занюхнув Шульманом.
А вообще, ассемблируйте по-старинке. Крис завещал…