我一直在尝试运行需要Zlib库的C++程序,但在编译文件时出现了“zlib.h文件或目录不存在”的错误。在查看了usr/local/include后发现该文件并不存在。我是否可以将该文件复制到该位置,还是需要安装什么东西。由于我对Ubuntu比较陌生,请帮忙解决。
我一直在尝试运行需要Zlib库的C++程序,但在编译文件时出现了“zlib.h文件或目录不存在”的错误。在查看了usr/local/include后发现该文件并不存在。我是否可以将该文件复制到该位置,还是需要安装什么东西。由于我对Ubuntu比较陌生,请帮忙解决。
使用以下命令安装带有开发支持的 zlib
sudo apt-get install zlib1g-dev
如果您不想或者不需要使用完整的zlib
库,那么编写一个简单的封装程序即可将zlib
函数一对一地映射到普通文件函数,这些函数不支持压缩和解压缩。
//
// dummy zlib.h
//
#pragma once
#include <stdio.h>
typedef FILE *gzFile;
int gzclose(gzFile file);
gzFile gzdopen(int fd, const char *mode);
gzFile gzopen(const char *path, const char *mode);
int gzread(gzFile file, void *buf, unsigned int len);
//
// zlibDummy.cpp
//
#include <zlib.h>
int gzclose(gzFile file)
{
return fclose(file);
}
gzFile gzdopen(int fd, const char *mode)
{
return _fdopen(fd, mode);
}
gzFile gzopen(const char *path, const char *mode)
{
return fopen(path, mode);
}
int gzread(gzFile file, void *buf, unsigned int len)
{
return fread(buf, 1, len, file);
}
好的,临时解决方案
从以下链接下载:https://github.com/madler/zlib/blob/master/zlib.h
将文件放置在与您的项目文件相同的文件夹中。
#include "zlib.h"