библиотека Zlib
Помогите разобраться, скачал бибилиотеку zlib123.zip.
Написал програмку test.cpp:
#include
#include
#include «zlib/include/zlib.h»
#include «zlib/include/zconf.h»
void main ( void ) <
char * data = «Text for compression. abc/abc» ;
Byte * Compr , * UnCompr ;
unsigned long ComprLen , UncomprLen ;
Compr = ( Byte * ) malloc ( ComprLen ) ;
UnCompr = ( Byte * ) malloc ( UncomprLen ) ;
strcpy ( UnCompr , data ) ;
UncomprLen = sizeof ( UnCompr ) ;
printf ( » \t %d \r \n » , rc ) ;
> ;
Получаю ошибку линкера:
[Linker Error] Unresolved external ‘_compress’ referenced from TEST.OBJ
Как с этим бороться?
2 ответа
09 мая 2006 года
5.6K / / 13.08.2003
Originally posted by SN_ok
Помогите разобраться, скачал бибилиотеку zlib123.zip.
Написал програмку test.cpp:
#include
#include
#include «zlib/include/zlib.h»
#include «zlib/include/zconf.h»
void main ( void ) <
char * data = «Text for compression. abc/abc» ;
Byte * Compr , * UnCompr ;
unsigned long ComprLen , UncomprLen ;
Compr = ( Byte * ) malloc ( ComprLen ) ;
UnCompr = ( Byte * ) malloc ( UncomprLen ) ;
strcpy ( UnCompr , data ) ;
UncomprLen = sizeof ( UnCompr ) ;
printf ( » \t %d \r \n » , rc ) ;
> ;
Получаю ошибку линкера:
[Linker Error] Unresolved external ‘_compress’ referenced from TEST.OBJ
Как с этим бороться?
подключить библиотеку zlib (не знаю как там в винде — zlib.dll, zlib.lib, что то такое)
Zconf h как подключить
Пользователь
Регистрация: 16.02.2019
Сообщений: 14
как установить библиотеку zconf.h
В консоли при компиляции пишет fatal error: zconf.h: Нет такого файла или каталога
Изображения
Снимок экрана от 2019-03-03 22-49-17.png (22.7 Кб, 77 просмотров) |
Регистрация: 15.02.2010
Сообщений: 15,709
Библиотека называется zlib, пакет с заголовками чсто называют zlib-devel
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как установить библиотеку glut на windows 7 ? | datileo | Visual C++ | 5 | 10.11.2016 20:55 |
Как установить библиотеку ? | MonkMoldova | Общие вопросы C/C++ | 7 | 04.04.2013 07:37 |
Установить библиотеку | Колючка* | Компоненты Delphi | 12 | 12.02.2010 16:11 |
Как установить библиотеку GMP для PHP? | motorway | PHP | 3 | 21.10.2009 16:58 |
Zconf h как подключить
// декомпрессировать второй функцией, помоемому все просто, там кстати подробная документация по функциям
Добавлено 06.09.05, 12:44
. да подключить нужно файл lib к проекту
Добавлено 06.09.05, 12:47
забыл
int Compress(LPVOID dest, ULONG *destLen, LPCVOID src, ULONG lenSrc, int level)
level — это «сила» сжатия от 0 до 9 — 9 самое максимальное сжатие, если ничего не путаю
Сообщ. #5 , 06.09.05, 13:02
Рейтинг (т): 1
да, это все ясно, а вот как работа с файлами. Я так понял это простейший пример сжатия например одного файла читаем содержимое и сжимаем, потом наоборот! Это все только с одним файлов, а как например делать архив и так далее.
и ище одно мне не понятно как подключать .lib к проекту в 8 студии??
Сообщ. #6 , 06.09.05, 15:33
Senior Member
Рейтинг (т): 9
Это все только с одним файлов, а как например делать архив и так далее.
и ище одно мне не понятно как подключать .lib к проекту в 8 студии??
Про 8 студию ничем помочь не могу, не видел. Про несколько файлов, нужно порыться в документации по ZLIB сам не делал, а если таких функций нет то можно написать самостоятельно, если конечно тебе не нужна совместимость со стандартными архиваторами.
Сообщ. #7 , 07.09.05, 05:08
Рейтинг (т): 8
скачал я lib, dll, zlib.h, вобщем все что требуется, но при линковке мне компилятор сказал: unresolved external symbol _compress2, тоже саме про uncompress
пришлось грузить функции через GetProcAddress(), теперь функции вызывались, но появился тругой трабл, compress2() всегда возвращала Z_OK, а вот uncompress() и Z_OK и Z_DATA_ERROR, хотя ниразу не вышло распаковать, пробовал распаковывать данных сжатые уровнем от 1 от 9
мб не так чо делал?
Сообщ. #8 , 07.09.05, 07:08
Unregistered
FedY@, будем пеарить %)
разархивирование RAR
Сообщ. #9 , 07.09.05, 08:35
Senior Member
Рейтинг (т): 15
скачал я lib, dll, zlib.h, вобщем все что требуется, но при линковке мне компилятор сказал: unresolved external symbol _compress2, тоже саме про uncompress
tark, как-то ты не так подключил дллки.
Можно так:
1. zdll.lib поместить в . \Microsoft Visual Studio .NET 7.0\Vc7\PlatformSDK\lib
2. zlib.dll — в SYSTEM32
3. в проекте #include «zlib.h» и #include «zconf.h»; и в настройках проекта подключить zdll.lib или #pragma comment(lib,»zdll»)
Сообщ. #10 , 07.09.05, 10:05
Рейтинг (т): 1
stontaro, это все отлично но есть ли у тебя АРХИВИРОВАНИЕ??
Кстате мне бы желательно чтобы стандартные Архиваторы понимали архивирование моей програмой.
Добавлено 07.09.05, 10:11
и ище, эта DLL не работает с архивами ZIP:(
Сообщ. #11 , 07.09.05, 10:42
Unregistered
FedY@, есть классик для архивирования\разархивирования zip (написанный на основе zlib). если надо могу поискать.
Сообщ. #12 , 07.09.05, 12:16
Рейтинг (т): 1
всем огромное спасибо, я помоему нашел то что искал XZip примеры и так далее. с примерами!!
Сообщ. #13 , 07.09.05, 12:54
Рейтинг (т): 114
Цитата FedY@ @ 06.09.05, 13:02
Это что за студия?
Сообщ. #14 , 07.09.05, 14:42
Рейтинг (т): 172
Цитата IEZ @ 07.09.05, 12:54
Это что за студия?
Сообщ. #15 , 07.09.05, 16:32
Рейтинг (т): 8
sham6215, как подключать lib’ы я знаю, мб просто не ту подключал
а подключал я по-очереди zlibwapi.lib, zlibstat.lib и использовал zlibwapi.dll, скачаную с http://www.gzip.org/zlib/
меня интересует почему при декомпресии происходят ошибки при всех уровнях сжатия
только не надо высказывать мысли мол у меня буфер маловат был выделен, специально делал раз в 10 больше, чем исходный
Сообщение отредактировано: tark — 07.09.05, 16:34
Сообщ. #16 , 09.09.05, 03:57
Рейтинг (т): 8
и как всегда ответа нет это специально чтоли меня игнорируют? на все вопросы мои
Сообщ. #17 , 09.09.05, 05:12
Рейтинг (т): 120
Цитата tark @ 09.09.05, 03:57
и как всегда ответа нет это специально чтоли меня игнорируют? на все вопросы мои
Что значит «как всегда?» Значит, никто не пользовался библиотечкой. Или всё получилось с первого раза. Видимо, придётся тебе САМОМУ взять в руки дебаггер, поотлаживать. Никто ведь не знает, может у тебя оперативной памяти 16 мегабайт
Нужно быть объективным — библиотечка не слишком популярна, и найти второго такого, прошедшего по этим граблям очень сложно. Так уж получилось, извини.
Сообщ. #18 , 25.09.05, 09:02
Unregistered
Кто нибуть знает как буфер сжатый не зная его размера разархивировать?
Сообщ. #19 , 28.09.05, 09:39
Senior Member
Рейтинг (т): 15
и как всегда ответа нет это специально чтоли меня игнорируют? на все вопросы мои
Где-то я стышал про женскую солидарность, она бывает не только у женщин . Лови рабочий код.
#pragma comment(lib,»zdll»)
#include «zlib.h»
#include «zconf.h»
typedef unsigned short uint16;
typedef unsigned char BYTE;
char data[]=»bla-bla-bla»;
uLongf togo=strlen(data);
uLongf newsize = togo+300;
BYTE *output=new BYTE[togo+300];
uint16 result = compress2((BYTE*)output,&newsize,(BYTE*)data,togo,9);
cout<<"new size is: "<
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- C/C++: Прочее
- Следующая тема
zlib.h:34:19: fatal error: zconf.h: No such file or directory #include «zconf.h»
There are quite some posts about this error, but I was not able to solve it, I hope you can come up with the solution. I am on a Ubuntu machine.
In this folder, I downloaded zlib. You can see the picture After some Googling, I also noticed that there is no -lz parameter, so I also added that manually as you can see below However, I still get the same error as when none of the above were done. Might it be that the path to zlib is not clear for the compiler? However, I installed it in this same folder. The make file looks like the below:
BIN = ./bin/graphmap2 BIN_DEBUG = ./bin/graphmap-debug BIN_LINUX = ./bin/Linux-x64/graphmap2 BIN_MAC = ./bin/Mac/graphmap OBJ_TESTING = ./obj_test OBJ_TESTING_EXT = ./obj_testext OBJ_DEBUG = ./obj_debug OBJ_LINUX = ./obj_linux OBJ_EXTCIGAR = ./obj_extcigar OBJ_MAC = ./obj_mac SOURCE = src CODEBASE = codebase # This finds all 'src' folders at maximum depth 2 (level one inside each submodule's folder). CODEBASE_SRC_FOLDERS = $(shell find $(CODEBASE) -maxdepth 2 -type d -name "src" -exec echo "-I"<> \;) # $(shell find $(CODEBASE) -maxdepth 3 -type d -name "libs" -exec echo "-I"<> \;) # $(shell find $(CODEBASE) -maxdepth 2 -type d -name "src" -exec echo "-I"<>"/*/" \;) # ? allows override by user using env var GCC ?= g++ # define variables for GCC version check here GCC_MAJOR_VERSION_GE_4 := $(shell expr `$(GCC) -dumpversion | cut -f1 -d.` \>= 4) GCC_MINOR_VERSION_GE_7 := $(shell expr `$(GCC) -dumpversion | cut -f2 -d.` \>= 7) GCC_MAC ?= g++ # CPP_FILES := $(wildcard $(SOURCE)/*/*.cpp) $(wildcard $(SOURCE)/*.cpp) $(wildcard $(SOURCE)/libs/*/*.cpp) # CC_FILES := $(wildcard $(SOURCE)/*/*.cc) $(wildcard $(SOURCE)/*.cc) $(wildcard $(SOURCE)/libs/*/*.cc) # H_FILES := $(wildcard $(SOURCE)/*/*.h) $(wildcard $(SOURCE)/*.h) $(wildcard $(SOURCE)/libs/*/*.h) CPP_FILES := $(wildcard $(CODEBASE)/*/src/*.cpp) $(wildcard $(CODEBASE)/*/src/libs/*/*.cpp) $(wildcard $(CODEBASE)/*/src/*/*.cpp) $(wildcard $(SOURCE)/*/*.cpp) $(wildcard $(SOURCE)/*.cpp) $(wildcard $(SOURCE)/libs/*/*.cpp) CC_FILES := $(wildcard $(CODEBASE)/*/src/*.cc) $(wildcard $(CODEBASE)/*/src/libs/*/*.cc) $(wildcard $(CODEBASE)/*/src/*/*.cc) $(wildcard $(SOURCE)/*/*.cc) $(wildcard $(SOURCE)/*.cc) $(wildcard $(SOURCE)/libs/*/*.cc) H_FILES := $(wildcard $(CODEBASE)/*/src/*.h) $(wildcard $(CODEBASE)/*/src/libs/*/*.h) $(wildcard $(CODEBASE)/*/src/*/*.h) $(wildcard $(SOURCE)/*/*.h) $(wildcard $(SOURCE)/*.h) $(wildcard $(CODEBASE)/*/src/*.hpp) $(wildcard $(CODEBASE)/*$ OBJ_FILES := $(CPP_FILES:.cpp=.o) $(CC_FILES:.cc=.o) OBJ_FILES_FOLDER_TESTING := $(addprefix $(OBJ_TESTING)/,$(OBJ_FILES)) OBJ_FILES_FOLDER_TESTING_EXT := $(addprefix $(OBJ_TESTING_EXT)/,$(OBJ_FILES)) OBJ_FILES_FOLDER_DEBUG := $(addprefix $(OBJ_DEBUG)/,$(OBJ_FILES)) OBJ_FILES_FOLDER_LINUX := $(addprefix $(OBJ_LINUX)/,$(OBJ_FILES)) OBJ_FILES_FOLDER_EXTCIGAR := $(addprefix $(OBJ_EXTCIGAR)/,$(OBJ_FILES)) OBJ_FILES_FOLDER_MAC := $(addprefix $(OBJ_MAC)/,$(OBJ_FILES)) LIB_DIRS = -L"/usr/local/lib" CC_LIBS = -static-libgcc -static-libstdc++ -D__cplusplus=201103L # INCLUDE = -I"./src/" -I"/usr/include/" -I"libs/libdivsufsort-2.0.1/build/include" -I"libs/seqan-library-1.4.2/include" # INCLUDE = -I"./src/" -I"/usr/include/" -I"src/libs/seqan-library-1.4.2/include" INCLUDE = -I"./src/" -I"/usr/include/" -I"$(CODEBASE)/seqlib/src/libs/seqan-library-2.0.1/include" -I"$(CODEBASE)/seqlib/src/libs/libdivsufsort-2.0.1-64bit/" $(CODEBASE_SRC_FOLDERS) CC_FLAGS_DEBUG = -O3 -g -rdynamic -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -pthread -march=native -lz CC_FLAGS_RELEASE = -DRELEASE_VERSION -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -pthread -lz # -march=native CC_FLAGS_EXTCIGAR = -DRELEASE_VERSION -DUSE_EXTENDED_CIGAR_FORMAT -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -pthread -march=native -lz CC_FLAGS_NOT_RELEASE = -g -O3 -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -Wuninitialized -pthread -march=native -lz CC_FLAGS_NOT_RELEASE_EXT = -g -O3 -DUSE_EXTENDED_CIGAR_FORMAT -fdata-sections -ffunction-sections -c -fmessage-length=0 -ffreestanding -fopenmp -m64 -std=c++11 -Werror=return-type -Wuninitialized -pthread -march=native -lz LD_FLAGS = -static-libgcc -static-libstdc++ -m64 -ffreestanding -lz # LD_LIBS = -lpthread -lgomp -lm -lz -ldivsufsort64 LD_LIBS = -lpthread -lgomp -lm -lz all: gcc_version_check linux install: /usr/bin/graphmap /usr/bin/graphmap: bin/Linux-x64/graphmap cp bin/Linux-x64/graphmap /usr/bin/graphmap modules: git submodule update --init --recursive # git submodule foreach git pull origin master testing: $(OBJ_FILES_FOLDER_TESTING) mkdir -p $(dir $(BIN)) $(GCC) $(LD_FLAGS) $(LIB_DIRS) -o $(BIN) $(OBJ_FILES_FOLDER_TESTING) $(LD_LIBS) obj_test/%.o: %.cc $(H_FILES) mkdir -p $(dir $@) $(GCC) $(CC_LIBS) $(INCLUDE) $(CC_FLAGS_NOT_RELEASE) -o $@ $< obj_test/%.o: %.cpp $(H_FILES) mkdir -p $(dir $@) $(GCC) $(CC_LIBS) $(INCLUDE) $(CC_FLAGS_NOT_RELEASE) -o $@ $< testingext: $(OBJ_FILES_FOLDER_TESTING_EXT) mkdir -p $(dir $(BIN)) $(GCC) $(LD_FLAGS) $(LIB_DIRS) -o $(BIN) $(OBJ_FILES_FOLDER_TESTING_EXT) $(LD_LIBS) obj_testext/%.o: %.cc $(H_FILES) mkdir -p $(dir $@) $(GCC) $(CC_LIBS) $(INCLUDE) $(CC_FLAGS_NOT_RELEASE_EXT) -o $@ $< obj_testext/%.o: %.cpp $(H_FILES) mkdir -p $(dir $@) $(GCC) $(CC_LIBS) $(INCLUDE) $(CC_FLAGS_NOT_RELEASE_EXT) -o $@ $< gcc_version_check: ifneq ($(GCC_MAJOR_VERSION_GE_4), 1) $(warning "*** WARNING $(GCC) major version