2013-08-09 3 views
20

Ich versuche, Compiler zu kompilieren Software auf Blue Gene Q mit IBM XL und ich habe diese Fehlermeldung:Übersetzungsfehler - fehlende zlib.h

"iostreams/zlib.cpp", line 19.10: 1540-0836 (S) The #include file "zlib.h" is not found. 
make[3]: *** [zlib.o] Error 1 

ich eine neue Version von zlib installiert haben und LD_LIBRARY_PATH aktualisiert mit $HOME/zlib/include

Fehle ich etwas?

Antwort

7

Sie fehlen, um den include Pfad zu setzen, wo Sie die ZLIB-Header-Dateien setzen. Das Festlegen der Umgebungsvariablen LD_LIBRARY_PATH dient zum dynamischen Verknüpfen von gemeinsam genutzten Objekten (DLLs, also Dateien mit der Endung .so).

Die meisten Compiler verfügen über die Option -I, um Suchpfade hinzuzufügen. Wahrscheinlich möchten Sie -L verwenden, um dem Compiler mitzuteilen, wo die zu verknüpfende Bibliothek zu finden ist, und -l verwenden, um dem Compiler mitzuteilen, dass er mit zlib verlinkt.

z.

$ c++ -I$HOME/zlib/include some_file.cpp -L$HOME/zlib/lib -lz 
+2

Falsch. Kernobs Antwort ist richtig. – SmallChess

+1

@SmallChess Wenn man bedenkt, dass das OP sagt "Ich habe *** *** eine neue Version von zlib installiert ..." (Hervorhebung von mir) und markiert meine Antwort als akzeptiert, vielleicht können Sie näher auf warum? Nur weil eine Antwort mehr Stimmen hat, heißt das nicht, dass sie automatisch korrekt ist. –

+1

Ich fühle mich wie die meisten Leute, die die Antwort von Kernob gewählt haben, die Frage nicht vollständig gelesen. – searchengine27

64

Sie fehlen zlib.h Header-Datei, auf Linux installieren über:

sudo apt-get install libz-dev 

auf Fedora: sudo dnf install libz-devel

Dies wird die Entwicklung Support-Dateien für eine Bibliothek bieten die deflate-Komprimierungsverfahren implementiert in gzip und PKZIP gefunden.

Wenn Sie bereits eine zlib Bibliothek haben, stellen Sie sicher, dass Sie Ihre Codequellen mit -lz kompilieren. Siehe: How to fix undefined references to inflate/deflate functions?.

+2

Ich hatte das gleiche Problem mit Fedora 25. Die Lösung ist 'sudo dnf install libz-devel ' –