Problem zLib / gzstream



  • Hallo,

    ich habe vor einen Datenstrom direkt in eine gezippte Datei zu schreiben.
    Da ich bei meiner Suche nach der zLib immer nur auf Beispiele gestoßen bin, bei der eine vorhandene Datei gepackt wird, bin ich auf den gzstream aufmerksam geworden ( http://www.cs.unc.edu/Research/compgeom/gzstream/ )
    Nach meinem Verständnis kann ich dort wie beim normalen fstream Daten direkt in eine Datei schreiben, die direkt gepackt angelegt wird.
    Oder liege ich an dieser Stelle falsch?

    Meine Frage ist nun, was ich denn für Projekteinstellungen vornehmen oder Dateien meinem Projekt hinzufügen muss, um das Ganze lauffähig zu bekommen.
    Ich bekomme beim Linken immer folgende Unresolved symbol - Fehler:

    gzstream.obj : error LNK2019: Nicht aufgelöstes externes Symbol '_gzopen@8', verwiesen in Funktion '"public: class gzstreambuf * __thiscall gzstreambuf::open(char const *,int)" (?open@gzstreambuf@@QAEPAV1@PBDH@Z)'
    gzstream.obj : error LNK2019: Nicht aufgelöstes externes Symbol '_gzclose@4', verwiesen in Funktion '"public: class gzstreambuf * __thiscall gzstreambuf::close(void)" (?close@gzstreambuf@@QAEPAV1@XZ)'
    gzstream.obj : error LNK2019: Nicht aufgelöstes externes Symbol '_gzread@12', verwiesen in Funktion '"public: virtual int __thiscall gzstreambuf::underflow(void)" (?underflow@gzstreambuf@@UAEHXZ)'
    gzstream.obj : error LNK2019: Nicht aufgelöstes externes Symbol '_gzwrite@12', verwiesen in Funktion '"private: int __thiscall gzstreambuf::flush_b
    

    Also scheint mir ja wohl eine lib oder etwas in der Art zu fehlen... 😕

    Ich hoffe, ihr könnt mir helfen. Wahrscheinlich hab ich einfach nur Tomaten auf den Augen... 🙂

    viele Grüße
    EntonH





  • Ja habe ich...nur weiss ich leider nicht, was ich wo einbinden soll 😞



  • EntonH schrieb:

    Ja habe ich...nur weiss ich leider nicht, was ich wo einbinden soll 😞

    Also nicht. Du musst es mit compilieren und dann hin zu linken. Das ist Compiler abhängig.



  • Ich habe mir eine gzstream.cpp gezogen, diese meinem Projekt hinzugefügt, die gzstream.h hinzugefügt und dem Compiler bekannt gegeben, wo er die zlib1.lib und zdll.lib finden kann. (Ich hab den Pfad unter zusätzl. Include- und Bibliotheksverz. angegeben...die lib unter zusätzl. Abhängigkeiten hinterlegt und noch dem Projekt hinzugefügt...gibt es noch mehr Möglichkeiten?) Wenn ich die gzstream.cpp kompiliere, geht dies ohne Probleme.
    Beim Linken meines Projekts schmeisst er mir dann allerdings den o.a. Fehler raus.

    Anscheinend wird die zugehörige zlib1.dll nicht geladen...?

    Ich verwende übrigens den MS VC++ 2003 (v. 7)

    Viele Grüße
    EntonH

    PS: Diese Anweisung aus der Usage.txt habe ich auch durchgeführt...

    Using ZLIB1.DLL with Microsoft Visual C++

    1. Install the supplied header files "zlib.h" and "zconf.h"
    into a directory found in the INCLUDE path list.

    2. Install the supplied library files "zdll.exp" and "zdll.lib"
    into a directory found in the LIB path list.

    3. Add "zdll.exp" or "zdll.lib" to your project.

    Notes:
    - Usually, you don't need both the .exp file and the .lib file.
    - If you wish, you may rename "zdll.exp" to "zlib1.exp", and/or
    rename "zdll.lib" to "zlib1.lib".



  • Hast du schon die zLib heruntergeladen?

    http://www.zlib.net/


Anmelden zum Antworten