web-dev-qa-db-ja.com

usr / local / includeにzlib.hファイルがないため、取得方法

そのため、ファイルのコンパイル時にZlibライブラリを必要とするC++プログラムを実行しようとしましたが、usr/local/includeで「zlib.hそのようなファイルまたはディレクトリが存在しません」というエラーが表示され、ファイルが存在しないことがわかりましたその場所にファイルをコピーするか、何かをインストールする必要がありますか?私はubuntuが少し新しいので助けてください

10
rac cool

zlibを開発サポートとともに使用してインストールします

Sudo apt-get install zlib1g-dev

完全なzlibを使用したくない、または使用する必要がない場合は、zlib関数をサポートしていない通常のファイル関数に1:1でマップするラッパールーチンを書くのはかなり簡単です。圧縮と解凍。

//
//  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);
}
24
Axel Kemper

さて、一時的な解決策

ダウンロード: https://github.com/madler/zlib/blob/master/zlib.h
プロジェクトファイルと同じフォルダーにファイルを置きます。

#include "zlib.h"
0
Akash Lodha