работа с Zlib, в Си++ Builder |
Здравствуйте, гость ( Вход | Регистрация )
работа с Zlib, в Си++ Builder |
19 Jul 2012, 16:41
(Сообщение отредактировал Shurup - 19 Jul 2012, 16:42)
Сообщение
#1
|
|
Щирий українець Сообщений: 1 456 Спасибо сказали: 3023 раза |
Нужна помощь от людей, работавших с zlib-архивами (трешечные LODы один из примеров).
Интересует все: от подключения библиотеки к проекту до компиляции и распространения готового приложения. В гугл не посылать. Спасибо. |
|
|
19 Jul 2012, 17:42
Сообщение
#2
|
|
Immortal Сообщений: 2 415 Спасибо сказали: 60 раз |
для того чтобы хотябы что-то описать надо что-то иметь, а не учить человека с нуля компилировать проекты и собирать их, ну и т.п., я просто о том что надо хоть какую-то базу для того чтобы было желание отвечать на вопрос
вот пример из гугла http://cppbuilder.ru/articles/0002.php -------------------- |
|
|
19 Jul 2012, 18:40
Сообщение
#3
|
|
Щирий українець Сообщений: 1 456 Спасибо сказали: 3023 раза |
Трабл в том, что работаю с bulider 6й версии, собираю и компилю родными средствами среды с настройками по умолчанию.
Попытался скачать библиотеки с http://www.zlib.net/ Содержимое архива повергло в панику: CODE amiga\ as400\ contrib\ doc\ examples\ msdos\ nintendods\ old\ qnx\ test\ watcom\ win32\ adler32.c ChangeLog CMakeLists.txt compress.c configure crc32.c crc32.h deflate.c deflate.h FAQ gzclose.c gzguts.h gzlib.c gzread.c gzwrite.c INDEX infback.c inffast.c inffast.h inffixed.h inflate.c inflate.h inftrees.c inftrees.h make_vms.com Makefile Makefile.in README treebuild.xml trees.c trees.h uncompr.c zconf.h zconf.h.cmakein zconf.h.in zlib.3 zlib.h zlib.map zlib.3.pdf zlib.pc.cmakein zlib.pc.in zlib2ansi zutil.c zutil.h Может я чего-то не понимаю, но кажется, что 3 метра текстовых файлов - многовато для реализации алгоритма сжатия. Разумеется что ченж-лог, примеры и "документацию" можно отбросить, но и без них в этой свалке много лишнего. Теперь собственно вопрос, для тех, кто работал с ZLIB: - Какие из этих файлов нужно подключать (и как, если это чем-то отличается от обычного #include "filename.h") - какие из этих файлов нужно распространять с исходниками (чтоб все проект запустился на другом компе) - Какие либы нужно будет распростанять со скомпилированным exe? - есть ли какие-то тонкости компиляции |
|
|
19 Jul 2012, 19:42
(Сообщение отредактировал tolich - 19 Jul 2012, 19:53)
Сообщение
#4
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
- Какие из этих файлов нужно подключать (и как, если это чем-то отличается от обычного #include "filename.h") #include "zlib.h"К проекту добавить соответствующий 'zlib.lib'. - какие из этих файлов нужно распространять с исходниками (чтоб все проект запустился на другом компе) Насколько я понимаю, все.- Какие либы нужно будет распростанять со скомпилированным exe? Тут всё просто, если zlib собрана статическая, то никакие, если динамическая, то 'zlib.dll'.- есть ли какие-то тонкости компиляции Не припоминаю.P.S. Вот, стопитсот лет назад делал: Compress.rar, может, почерпнёшь мудрости... -------------------- |
|
|
20 Jul 2012, 13:24
Сообщение
#5
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
Suddenly: если используешь Qt, то там есть функции qCompress, qUncompress и qChecksum.
-------------------- |
|
|
20 Jul 2012, 15:41
(Сообщение отредактировал Shurup - 20 Jul 2012, 15:44)
Сообщение
#6
|
|
Щирий українець Сообщений: 1 456 Спасибо сказали: 3023 раза |
в том то и дело, что хочется по максиму отвязаться от всяческих тонкостей ИДЕ и фреймворков. Хочется нормального С++.
В моем понимании "нормального" - это когда скачиваешь библиотеку, подключаешь и используешь ее возможности. Я в не могу понять смысла предварительной сборки .lib, причем разной для разных IDE. И чем глубже погружаюсь - тем все печальнее выглядит. Цитата К проекту добавить соответствующий 'zlib.lib'. Соответствующий? >> есть ли какие-то тонкости компиляции Не припоминаю. >> Какие либы нужно будет распростанять со скомпилированным exe? Тут всё просто, если zlib собрана статическая, то никакие, если динамическая, то 'zlib.dll'. Для меня это взаимоисключающие |
|
|
20 Jul 2012, 15:58
Сообщение
#7
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
Я в не могу понять смысла предварительной сборки .lib, причем разной для разных IDE. Не IDE, компиляторов/редакторов связей.Цитата К проекту добавить соответствующий 'zlib.lib'. Соответствующий?>> есть ли какие-то тонкости компиляции Не припоминаю. >> Какие либы нужно будет распростанять со скомпилированным exe? Тут всё просто, если zlib собрана статическая, то никакие, если динамическая, то 'zlib.dll'. Для меня это взаимоисключающие Цитата перед подключением windows.h написать #define WIN32_LEAN_AND_MEAN и #define VC_EXTRALEAN
-------------------- |
|
|
20 Jul 2012, 19:20
Сообщение
#8
|
|
VCMI developer Сообщений: 377 Спасибо сказали: 690 раз |
А разве .lib обязательна? Это ж статическая библиотека - можно или линковать к lib-е и получить независимый exe или линковать с .dll и затем выкладывать exe и dll.
Цитата в том то и дело, что хочется по максиму отвязаться от всяческих тонкостей ИДЕ и фреймворков. Хочется нормального С++. В моем понимании "нормального" - это когда скачиваешь библиотеку, подключаешь и используешь ее возможности. Часто можно найти уже скомпиленые либы для популярных ИДЕ. Вот только C++ builder в этот список уже давно не входит. Линукс тут конечно рвет всех и всякого: Код apt-get install zlib1g-dev # ставим либу g++ main.cpp -lz # линкуем к нужной либе Цитата причем разной для разных IDE. Разве? В Си (а zlib она сишная) интерфейс один и тот же должен быть независимо от ИДЕ. Цитата перед подключением windows.h написать #define WIN32_LEAN_AND_MEAN и #define VC_EXTRALEAN "Это не баг это фича" В windows.h есть, например, такие "фичи" как макросы min и max которые вызывают ошибки на переменных с таким именем, а в случае C++ - еще и при использовании стандартных std::min() и std::max() -------------------- Слава Україні!
|
|
|
20 Jul 2012, 20:48
Сообщение
#9
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
Разве? В Си (а zlib она сишная) интерфейс один и тот же должен быть независимо от ИДЕ. Разные форматы объектных файлов и, соответственно, библиотек."Это не баг это фича" А кто говорит, что это баг? Это всего лишь неочевидные вещи.
-------------------- |
|
|
Текстовая версия | Сейчас: 24 April 2024 - 14:49 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |