2016-06-03 6 views
2

Ich habe versucht, ein C++ - Programm zu starten, das Zlib-Bibliothek beim Kompilieren der Datei benötigt, es gab eine Fehlermeldung "zlib.h keine solche Datei oder Verzeichnis existiert "beim einsehen in usr/local/include habe ich festgestellt, dass die datei nicht da ist, kann ich die datei einfach dorthin kopieren oder sollte ich etwas installieren. Ich bin irgendwie neu zu ubuntu so wenden Sie sich bitteKeine zlib.h-Datei in usr/local/include wie man es bekommt

Antwort

7

Installieren zlib mit Entwicklungsunterstützung durch

sudo apt-get install zlib1g-dev 

Bei Verwendung Sie wollen oder müssen nicht die volle zlib verwenden, ist es ziemlich einfach Wrapper-Routinen zu schreiben, die die zlib Funktionen Karte 1 : 1 zu normalen Dateifunktionen, die Komprimierung und Dekomprimierung nicht unterstützen.

// 
// 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); 
} 
+0

hat funktioniert und danke für den zusätzlichen Vorschlag !!! –

0

Nun, temporäre Lösung

Download helfen: https://github.com/madler/zlib/blob/master/zlib.h
legen Sie die Datei im selben Ordner wie die Projektdatei.

#include "zlib.h" 
+0

danke für die Antwort Ich denke, es wird funktionieren, aber Axels war besser –

+0

Es ist ein wenig riskant nur die Installation von zlib.h, wenn Sie sicher sind, dass es auf die installierte Bibliothek entspricht, die Sie verknüpfen werden. Es ist sicherer, einen apt-get-, yum-, brew- oder was auch immer-Paket-Manager Ihres Systems zu verwenden, um sowohl libz als auch zlib.h zu installieren. –

+0

Ich schrieb diese Antwort als einen schnellen Weg, um mit der Entwicklung fortzufahren. Obwohl ich es niemals empfehlen würde. Und ich würde es wahrscheinlich auch nicht tun. –