ZLIP kompilieren?
-
Hallo,
ich möchte in mein Projekt minizip drin haben. Heruntergeladen von
http://www.zlib.net/ Version 1.2.8Nur gelesen habe ich "kompilierst sie dir selbst"
meine Frage ist wie geht das oder wie wird das gemacht?
Habe auch schon im INet gesucht ... Nur ich kann kein EnglishIch benutzte C++ Builder XE4
Ich hoffe es kann mir einer weiter Helfen!
P.S. Ich bin ein Hobby Programmierer
-
Ich hab ZLIB nicht im Einsatz, aber so auf den ersten Blick sieht das einfach nach Sourcecode aus, den du nur irgendwohin kopieren und per #include einbinden musst.
Da muss also vorher nichts kompiliert werden.
-
Ich gehe jetzt einfach mal davon aus dass du auf Linux unterwegs ist, sonst könntest du dir ja einfach die DLL runterladen:
Ansich sollte ein "make" ausreichen, ganz ohne VCL Builder, einfach über die Shell.
-
Einfach die .c Dateien in dein Projekt aufnehmen und kompilieren. Ich benutze zwar die 1.2.5, aber das sollte sich nicht großartig von der 1.2.8 unterscheiden.
Welche Probleme hast du denn genau?
-
Ich bin im Windows unterwegs.
Habe die DLL Datei auch, aber irgend wie läuft es nicht. Oder habe das nicht richtig gemacht.
Ich weiss jetzt nicht ob in der DLL Datei auch minizip drin ist?
Es geht mir darum ein Passwort geschütztes Archiv zu öffnen und eben zu bearbeiten.
-
Vielleicht ist ZipForge was für dich. Kostet zwar 49 Euro, aber vielleicht ist es die Investition wert. Oder Turbo Abbrevia, das ist kostenlos, fand ich aber schwierig zu installieren. Beide bringen eine oder mehrere Komponente mit, mit denen man ziemlich komfortabel arbeiten kann.
-
Du brauchst für die zlib doch keine dll. Die gibts vollständig im Quelltext. Ist zwar reines C geht aber problemlos einzubinden.
-
OK thx muss ich mal ausprobieren
-
Hallo,
ich habe die
#include "H:\MyApps\zlib-1.2.8\contrib\minizip\unzip.c" #include "H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c" #include "H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c"
in mein Projekt eingebunden, die Anwendung ist in 32bit.
nun kommen die Fehler...
[bcc32 Fehler] zconf.h(377): E2015 Mehrdeutigkeit zwischen 'Byte' und 'System::Byte' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(10): #include H:\MyApps\zlib-1.2.8\contrib\minizip\unzip.c unzip.c(75): #include H:\MyApps\zlib-1.2.8\zlib.h zlib.h(34): #include H:\MyApps\zlib-1.2.8\zconf.h [bcc32 Warnung] minizip.c(74): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c [bcc32 Warnung] minizip.c(153): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c [bcc32 Fehler] minizip.c(155): E2310 Nur Member-Funktionen dürfen mit 'const' oder 'volatile' deklariert werden Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c [bcc32 Fehler] minizip.c(158): E2268 Aufruf der undefinierten Funktion 'fopen64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(155): Analyse: int check_exist_file() const [bcc32 Fehler] minizip.c(158): E2034 Konvertierung von 'int' nach 'FILE *' nicht möglich Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(155): Analyse: int check_exist_file() const [bcc32 Fehler] minizip.c(189): E2268 Aufruf der undefinierten Funktion 'fopen64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(186): Analyse: int getFileCrc(const char *,void *,unsigned long,unsigned long *) [bcc32 Fehler] minizip.c(211): E2034 Konvertierung von 'void *' nach 'const unsigned char *' nicht möglich Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(186): Analyse: int getFileCrc(const char *,void *,unsigned long,unsigned long *) [bcc32 Fehler] minizip.c(211): E2342 Keine Übereinstimmung des Parametertyps 'buf' ('const unsigned char *' erwartet, 'void *' erhalten) Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(186): Analyse: int getFileCrc(const char *,void *,unsigned long,unsigned long *) [bcc32 Fehler] minizip.c(228): E2268 Aufruf der undefinierten Funktion 'fopen64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(225): Analyse: int isLargeFile(const char *) [bcc32 Fehler] minizip.c(232): E2268 Aufruf der undefinierten Funktion 'fseeko64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(225): Analyse: int isLargeFile(const char *) [bcc32 Fehler] minizip.c(233): E2268 Aufruf der undefinierten Funktion 'ftello64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(225): Analyse: int isLargeFile(const char *) [bcc32 Warnung] minizip.c(246): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c [bcc32 Warnung] minizip.c(339): W8065 Aufruf der Funktion 'check_exist_file() const' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(249): Analyse: int main() [bcc32 Warnung] minizip.c(344): W8065 Aufruf der Funktion 'check_exist_file() const' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(249): Analyse: int main() [bcc32 Warnung] minizip.c(411): W8065 Aufruf der Funktion 'filetime()' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(249): Analyse: int main() [bcc32 Fehler] minizip.c(463): E2268 Aufruf der undefinierten Funktion 'fopen64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(11): #include H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c minizip.c(249): Analyse: int main() [bcc32 Warnung] miniunz.c(61): W8017 Neudefinition von 'WRITEBUFFERSIZE' ist nicht identisch Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(83): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Fehler] miniunz.c(87): E2310 Nur Member-Funktionen dürfen mit 'const' oder 'volatile' deklariert werden Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(124): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Fehler] miniunz.c(126): E2310 Nur Member-Funktionen dürfen mit 'const' oder 'volatile' deklariert werden Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(138): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(159): W8065 Aufruf der Funktion 'mymkdir() const' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(140): Analyse: int makedir() [bcc32 Warnung] miniunz.c(174): W8065 Aufruf der Funktion 'mymkdir() const' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(140): Analyse: int makedir() [bcc32 Fehler] miniunz.c(189): E2171 Für die Funktion 'do_banner()' existiert bereits ein Funktionsrumpf Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Fehler] miniunz.c(195): E2171 Für die Funktion 'do_help()' existiert bereits ein Funktionsrumpf Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(234): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(312): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(357): W8065 Aufruf der Funktion 'mymkdir() const' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(317): Analyse: int do_extract_currentfile() [bcc32 Fehler] miniunz.c(380): E2268 Aufruf der undefinierten Funktion 'fopen64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(317): Analyse: int do_extract_currentfile() [bcc32 Fehler] miniunz.c(411): E2268 Aufruf der undefinierten Funktion 'fopen64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(317): Analyse: int do_extract_currentfile() [bcc32 Warnung] miniunz.c(418): W8065 Aufruf der Funktion 'makedir()' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(317): Analyse: int do_extract_currentfile() [bcc32 Fehler] miniunz.c(420): E2268 Aufruf der undefinierten Funktion 'fopen64' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(317): Analyse: int do_extract_currentfile() [bcc32 Warnung] miniunz.c(455): W8065 Aufruf der Funktion 'change_file_date() const' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(317): Analyse: int do_extract_currentfile() [bcc32 Warnung] miniunz.c(475): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(494): W8065 Aufruf der Funktion 'do_extract_currentfile()' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(480): Analyse: int do_extract() [bcc32 Warnung] miniunz.c(511): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(527): W8065 Aufruf der Funktion 'do_extract_currentfile()' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(517): Analyse: int do_extract_onefile() [bcc32 Warnung] miniunz.c(534): W8054 Stil der Funktionsdefinition ist nun veraltet Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Fehler] miniunz.c(537): E2171 Für die Funktion 'main()' existiert bereits ein Funktionsrumpf Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c [bcc32 Warnung] miniunz.c(638): W8065 Aufruf der Funktion 'do_list()' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(537): Analyse: int main() [bcc32 Fehler] miniunz.c(642): E2268 Aufruf der undefinierten Funktion '_chdir' Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(537): Analyse: int main() [bcc32 Warnung] miniunz.c(652): W8065 Aufruf der Funktion 'do_extract()' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(537): Analyse: int main() [bcc32 Warnung] miniunz.c(654): W8065 Aufruf der Funktion 'do_extract_onefile()' ohne Prototyp Vollständiger Parser-Kontext ERCGeneratorMyClass.cpp(12): #include H:\MyApps\zlib-1.2.8\contrib\minizip\miniunz.c miniunz.c(537): Analyse: int main()
Ja
keine Ahnung was ich jetzt machen soll oder was falsch ist.
-
Nicht per #include einbinden, sondern die Dateien zu deinem Projekt hinzufügen ("add file(s)") und getrennt kompilieren lassen (so daß sie als C kompiliert werden und keine VCL-Includes eingebunden werden).
-
Hi danke für die Antwort.
sondern die Dateien zu deinem Projekt hinzufügen ("add file(s)") und getrennt kompilieren lassen
Keine Ahnung wie das geht
oder wie ich das machen soll.
-
Rechte Maustaste auf Projektnamen in der Projektverwaltung -> Hinzufügen. Im Dateiauswahldialog den Dateifilter auf C-Datei (*.c) stellen und die C-Quellcode Dateien hinzufügen.
Alternativ kannst du das auch über das Hauptmenü machen (Projekt -> Dem Projekt hinzufügen). Noch schneller geht´s mit Shift-F11.
-
Danke...
Jetzt kommt die Fehlermeldung
[bcc32 Fehler] Main.cpp(28): E2451 Undefiniertes Symbol 'unzFile' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(28): E2379 In Anweisung fehlt ; Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(29): E2451 Undefiniertes Symbol 'archive' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(38): E2268 Aufruf der undefinierten Funktion 'unzLocateFile' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(39): E2451 Undefiniertes Symbol 'UNZ_OK' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(43): E2268 Aufruf der undefinierten Funktion 'unzClose' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(49): E2451 Undefiniertes Symbol 'unz_file_info' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(49): E2379 In Anweisung fehlt ; Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(50): E2268 Aufruf der undefinierten Funktion 'unzGetCurrentFileInfo' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(50): E2451 Undefiniertes Symbol 'info' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(60): E2268 Aufruf der undefinierten Funktion 'unzClose' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(66): E2268 Aufruf der undefinierten Funktion 'unzOpenCurrentFile' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(67): E2268 Aufruf der undefinierten Funktion 'unzOpenCurrentFilePassword' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(73): E2268 Aufruf der undefinierten Funktion 'unzClose' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(79): E2268 Aufruf der undefinierten Funktion 'unzReadCurrentFile' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(85): E2268 Aufruf der undefinierten Funktion 'unzCloseCurrentFile' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(86): E2268 Aufruf der undefinierten Funktion 'unzClose' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(92): E2268 Aufruf der undefinierten Funktion 'unzCloseCurrentFile' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *) [bcc32 Fehler] Main.cpp(93): E2268 Aufruf der undefinierten Funktion 'unzClose' Vollständiger Parser-Kontext Main.cpp(25): Analyse: int TMainForm::readArchivedFile(const std::string &,const std::string &,const std::string &,void * *,unsigned int *)
habe die Datei aus dem Verzeichnis ..\zlib-1.2.8\contrib\minizip
minizip.c
miniunz.c
unzip.ceingebunden.
Wie komme ich jetzt an die Funktion? Oder Fehlt noch was um Minizip zuhaben?
-
Klar fehlt da was... das minizip ist ja nur ein "add on" für die Zip-Funktionalität, du musst natürlich auch die Dateien für Basisfunktionen zum Projekt hinzufügen. Das sind fast alle .h/.c aus dem Root Verzeichnis des zlib Archivs.
-
Ja...
Die Probleme fangen hier schon an
[bcc32 Fehler] zconf.h(377): E2015 Mehrdeutigkeit zwischen 'Byte' und 'System::Byte' Vollständiger Parser-Kontext Main.cpp(10): #include H:\MyApps\zlib-1.2.8\zlib.h zlib.h(34): #include H:\MyApps\zlib-1.2.8\zconf.h
wen ich dann
... typedef Byte FAR Bytef; ...
ändere in
... typedef ::Byte FAR Bytef; ...
und folgende *.h Dateien eingebunden
#include "zlib.h" #include "zip.h" #include "unzip.h" #include "ioapi.h"
dann kommen sehr viel Fehler...
[bcc32 Warnung] winnt.h(14984): W8019 Code hat keine Auswirkung Vollständiger Parser-Kontext miniunz.c(66): #include H:\MyApps\zlib-1.2.8\contrib\minizip\iowin32.h iowin32.h(14): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\windows.h windows.h(186): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\windef.h windef.h(182): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\winnt.h [bcc32 Warnung] miniunz.c(159): W8065 Aufruf der Funktion 'mymkdir' ohne Prototyp [bcc32 Warnung] miniunz.c(174): W8065 Aufruf der Funktion 'mymkdir' ohne Prototyp [bcc32 Warnung] miniunz.c(357): W8065 Aufruf der Funktion 'mymkdir' ohne Prototyp [bcc32 Warnung] miniunz.c(380): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] miniunz.c(380): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] miniunz.c(411): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] miniunz.c(411): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] miniunz.c(418): W8065 Aufruf der Funktion 'makedir' ohne Prototyp [bcc32 Warnung] miniunz.c(420): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] miniunz.c(420): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] miniunz.c(455): W8065 Aufruf der Funktion 'change_file_date' ohne Prototyp [bcc32 Warnung] miniunz.c(472): W8004 'ratio' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] miniunz.c(494): W8065 Aufruf der Funktion 'do_extract_currentfile' ohne Prototyp [bcc32 Warnung] miniunz.c(509): W8004 'fout' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] miniunz.c(527): W8065 Aufruf der Funktion 'do_extract_currentfile' ohne Prototyp [bcc32 Warnung] miniunz.c(531): W8004 'err' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] miniunz.c(552): W8065 Aufruf der Funktion 'do_banner' ohne Prototyp [bcc32 Warnung] miniunz.c(555): W8065 Aufruf der Funktion 'do_help' ohne Prototyp [bcc32 Warnung] miniunz.c(638): W8065 Aufruf der Funktion 'do_list' ohne Prototyp [bcc32 Warnung] miniunz.c(642): W8065 Aufruf der Funktion '_chdir' ohne Prototyp [bcc32 Warnung] miniunz.c(652): W8065 Aufruf der Funktion 'do_extract' ohne Prototyp [bcc32 Warnung] miniunz.c(654): W8065 Aufruf der Funktion 'do_extract_onefile' ohne Prototyp bcc32 Befehlszeile für "H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c" c:\program files (x86)\embarcadero\rad studio\11.0\bin\bcc32.exe -D_DEBUG -D_RTLDLL;USEPACKAGES -n.\Win32\Debug -I"c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\crtl\DE";"c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\rtl\DE"; H:\MyApps\zlib-1.2.8;"c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\vcl";H:\MyApps\zlib-1.2.8; H:\MyApps\zlib-1.2.8\contrib\minizip;H:\ZIPTest;"C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\include\boost_1_39\boost\tr1\tr1";"C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\include\boost_1_39";"c:\program files (x86)\embarcadero\rad studio\11.0\include";"c:\program files (x86)\embarcadero\rad studio\11.0\include\dinkumware";"c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\crtl";"c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk";"c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\rtl";"c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\vcl";"C:\Program Files (x86)\FastReports\LibD18";"C:\Program Files (x86)\Raize\CS5\Lib\RS-XE4\Win32";C:\AdvMemo;H:\MyApps\zlib-1.2.8\include -y -Q -k -r- -c -tM -tU -tW -C8 -o.\Win32\Debug\minizip.obj -w-par -Od -v -vi- -H=.\Win32\Debug\ZIPTest.pch -H H:\MyApps\zlib-1.2.8\contrib\minizip\minizip.c [bcc32 Warnung] winnt.h(14984): W8019 Code hat keine Auswirkung Vollständiger Parser-Kontext minizip.c(65): #include H:\MyApps\zlib-1.2.8\contrib\minizip\iowin32.h iowin32.h(14): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\windows.h windows.h(186): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\windef.h windef.h(182): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\winnt.h [bcc32 Warnung] minizip.c(158): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(158): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(189): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(189): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(228): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(228): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(232): W8065 Aufruf der Funktion 'fseeko64' ohne Prototyp [bcc32 Warnung] minizip.c(233): W8065 Aufruf der Funktion 'ftello64' ohne Prototyp [bcc32 Warnung] minizip.c(241): W8004 'n' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] minizip.c(263): W8065 Aufruf der Funktion 'do_banner' ohne Prototyp [bcc32 Warnung] minizip.c(266): W8065 Aufruf der Funktion 'do_help' ohne Prototyp [bcc32 Warnung] minizip.c(339): W8065 Aufruf der Funktion 'check_exist_file' ohne Prototyp [bcc32 Warnung] minizip.c(344): W8065 Aufruf der Funktion 'check_exist_file' ohne Prototyp [bcc32 Warnung] minizip.c(411): W8065 Aufruf der Funktion 'filetime' ohne Prototyp [bcc32 Warnung] minizip.c(463): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(463): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(515): W8065 Aufruf der Funktion 'do_help' ohne Prototyp
und so weiter... ?!?
-
Ich sehe da auf Anhieb keine Fehlermeldungen sonder nur Warnungen.
Hast du folgendes oben in deinen zlib Dateien stehen?#ifdef __cplusplus extern "C" { #endif
alternativ kannst du auch die includes der zlib Header in dein Projekt mit extern "C" umschließen. z. Bsp. so
extern "C" { #include "zlib.h" }
Damit sagst du deinm Projekt das jetzt C-Dateien kommen und kein C++.
-
Danke
das mit
extern "C" { #include "zlib.h" }
hat schon mal die Warnung weg gemacht.
Das steht in der zlib.h Datei
... #include "zconf.h" #ifdef __cplusplus extern "C" { #endif ...
So jetzt sind nur noch Fehlermeldung
[ilink32 Fehler] Error: Nicht auflösbares externes '_fopen64' referenziert von H:\ZIPTEST\WIN32\DEBUG\IOAPI.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '_ftello64' referenziert von H:\ZIPTEST\WIN32\DEBUG\IOAPI.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '_fseeko64' referenziert von H:\ZIPTEST\WIN32\DEBUG\IOAPI.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '_inflateInit2_' referenziert von H:\ZIPTEST\WIN32\DEBUG\UNZIP.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '_inflate' referenziert von H:\ZIPTEST\WIN32\DEBUG\UNZIP.OBJ [ilink32 Fehler] Error: Nicht auflösbares externes '_inflateEnd' referenziert von H:\ZIPTEST\WIN32\DEBUG\UNZIP.OBJ [ilink32 Fehler] Error: Linken kann nicht ausgeführt werden
So ...
In meiner Main Datei habe ich jetzt drin stehenextern "C" { #include "zlib.h" #include "zconf.h" #include "zip.h" #include "unzip.h" #include "iowin32.h" #include "ioapi.h" }
Und die folgenden Dateien sind im Projekt aufgenommen
ioapi.c iowin32.c miniunz.c minizip.c zip.c unzip.c crc32.c
-
Da scheint bei dir mit den defines was schief zulaufen. Die von dir genannten Funktionen gibt es unter Windows eigentlich nicht. Normalerweise werden die über define auf die passenden WinAPI funktionen umgebogen. Siehe auch hier:
https://github.com/jtkukunas/zlib/blob/master/contrib/minizip/ioapi.h
Evtl. fehlt bei dir ein define?
-
Ja keine Ahnung was ich dahin schreiben soll!?!
Manchmal kommen trotzdem Warnungen ...
[bcc32 Warnung] miniunz.c(159): W8065 Aufruf der Funktion 'mymkdir' ohne Prototyp [bcc32 Warnung] miniunz.c(174): W8065 Aufruf der Funktion 'mymkdir' ohne Prototyp [bcc32 Warnung] miniunz.c(357): W8065 Aufruf der Funktion 'mymkdir' ohne Prototyp [bcc32 Warnung] miniunz.c(380): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] miniunz.c(380): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] miniunz.c(411): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] miniunz.c(411): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] miniunz.c(418): W8065 Aufruf der Funktion 'makedir' ohne Prototyp [bcc32 Warnung] miniunz.c(420): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] miniunz.c(420): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] miniunz.c(455): W8065 Aufruf der Funktion 'change_file_date' ohne Prototyp [bcc32 Warnung] miniunz.c(472): W8004 'ratio' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] miniunz.c(494): W8065 Aufruf der Funktion 'do_extract_currentfile' ohne Prototyp [bcc32 Warnung] miniunz.c(509): W8004 'fout' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] miniunz.c(527): W8065 Aufruf der Funktion 'do_extract_currentfile' ohne Prototyp [bcc32 Warnung] miniunz.c(531): W8004 'err' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] miniunz.c(552): W8065 Aufruf der Funktion 'do_banner' ohne Prototyp [bcc32 Warnung] miniunz.c(555): W8065 Aufruf der Funktion 'do_help' ohne Prototyp [bcc32 Warnung] miniunz.c(638): W8065 Aufruf der Funktion 'do_list' ohne Prototyp [bcc32 Warnung] miniunz.c(642): W8065 Aufruf der Funktion '_chdir' ohne Prototyp [bcc32 Warnung] miniunz.c(652): W8065 Aufruf der Funktion 'do_extract' ohne Prototyp [bcc32 Warnung] miniunz.c(654): W8065 Aufruf der Funktion 'do_extract_onefile' ohne Prototyp [bcc32 Warnung] winnt.h(14984): W8019 Code hat keine Auswirkung Vollständiger Parser-Kontext minizip.c(65): #include H:\MyApps\zlib-1.2.8\contrib\minizip\iowin32.h iowin32.h(14): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\windows.h windows.h(186): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\windef.h windef.h(182): #include c:\program files (x86)\embarcadero\rad studio\11.0\include\windows\sdk\winnt.h [bcc32 Warnung] minizip.c(158): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(158): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(189): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(189): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(228): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(228): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(232): W8065 Aufruf der Funktion 'fseeko64' ohne Prototyp [bcc32 Warnung] minizip.c(233): W8065 Aufruf der Funktion 'ftello64' ohne Prototyp [bcc32 Warnung] minizip.c(241): W8004 'n' wurde ein Wert zugewiesen, der nie verwendet wird [bcc32 Warnung] minizip.c(263): W8065 Aufruf der Funktion 'do_banner' ohne Prototyp [bcc32 Warnung] minizip.c(266): W8065 Aufruf der Funktion 'do_help' ohne Prototyp [bcc32 Warnung] minizip.c(339): W8065 Aufruf der Funktion 'check_exist_file' ohne Prototyp [bcc32 Warnung] minizip.c(344): W8065 Aufruf der Funktion 'check_exist_file' ohne Prototyp [bcc32 Warnung] minizip.c(411): W8065 Aufruf der Funktion 'filetime' ohne Prototyp [bcc32 Warnung] minizip.c(463): W8065 Aufruf der Funktion 'fopen64' ohne Prototyp [bcc32 Warnung] minizip.c(463): W8069 Nicht-übertragbare Zeigerkonvertierung [bcc32 Warnung] minizip.c(515): W8065 Aufruf der Funktion 'do_help' ohne Prototyp u.s.w. 83 Stück
Ja keine Ahnung was ich machen soll.
Gibt es eigentlich ein Unterschied zwischen der DLL Datei und das selber zu Kompilieren?
-
Ja sorry für den Eintrag oben. Habe da ein Ungültigen Path gehabt.
Da ich dann Gegoogelt habe und auf das gestoßen bin
Ja, könnte hatte da auch mal ein Problem mit, das er nicht übersetzt hat, wenn der Pfad nicht gefunden wurde, auch wenn der eigentlich nicht nötig ist.
Jetzt wo der Path weg ist kommen nur die Fehlermeldungen noch