Klasse aus Dll auslesen
-
Hat auf das fertige Programm also gar keine Auswirkungen? Wozu gibts den Befehl dann?
Was mir aber erstmal wichtiger wäre: was habe ich falsch gemacht, warum bekomme ich diesen dämlichen linker error?
-
So, hab das mal durchprobiert. Ich schätze der Fehler liegt beim DevCPP.
Hab ein Beispiel gemacht und das versucht zu kompilieren. Bei der Verwendung von dlltool hatte ich den Fehler den du hattest. Hab dann die Parameter etwas modifiziert und jetzt gehts... allerdings hab ich das auf der Konsole gemacht, weil ich den DevC++ nicht mag und nicht habe.
Hier kannst Du Dir mal die Dateien runterladen und Dir anschauen:
http://www.file-upload.to/download.php?file=384Beispiel.rar// Build Befehl für die DLL g++ dll_test.cpp -WALL -DMYPROJECT_EXPORTS -DWIN32 -shared -Wl,--out-implib,libTest.a // Build für das Programm g++ proc.cpp -WALL -L./ -lTest -o test.exe
Liegt aber alles bei als .cmd.
rya.
-
Hmm, danke, aber deine cmd-dateien funktionieren nicht, wenn ich sie ausführe passiert gar nix. Und was muss ich da modifizieren, damit ic meine eigenes dll-aufruf programm compilieren kann?
-
Der g++ sollte natürlich über die Kommandozeile erreichbar sein -.-
Das sollte man eigentlich schon wissen -.-
-
Sorry, falls ich mich jetzt besonders doof anstelle, aber was muss ich machen, damit g++ über cmd erreichbar ist? Kann ich da einfach die exe ins system32 Verzeichnis kopieren?
-
Nein, lass alles wie es ist und füge das Verzeichnis "bin" (dort wo deine g++/gcc.exe lebt) dem Pfad hinzu. Das machst du unter Arbeitsplatz->Eigenschaften->Erweitert->Umgebungsvariablen.
Dort suchst du die Variable Pfad und gehst an das Ende der Zeile. Dort gibst du ein ; nach dem letzten Eintrag ein (falls da keines ist) und schreibst dort rein wo deine gcc.exe ist.
Beispiel:C:\Programme\Perl\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\MinGW\Bakefile\src;**C:\MinGW\bin;**C:\Programme\ATI Technologies\ATI.ACE\Core-Static;C:\Programme\Visual Leak Detector\bin;C:\Mingw\NaturalDocs-1.35;C:\WINDOWS\system32\WindowsPowerShell\v1.0
So schaut das bei mir aus.
-
Ok, danke für deine Bemühungen: also jetzt : wenn ich deine dll_bauen in deinem beispiel ordner ausführe ensteht eine a.exe und eine libTest.a
Wnn ich dein programm bauen ausführe entsteht eine Test.exe, die auch funktioniert.So jetzt habe ich das in den ordner mit meinen scripts verschoben und die dll_bauen folgendermaßen angepasst:
g++ Dll_aufruf.cpp -WALL -L./ -lAutoentpackerDLL -o test.exe
und es passiert im Endeffekt gar nichts, ausser das son cmd fenster einmal kurz aufblinkt, es entsteht keine test.exe oder so
-
Schick mir das Projekt bitte per EMail:
scorcher24 antispamat gmail antispamdot com
Dann schreib ich dir nen Bakefile oder nen script...
rya.
-
nach dieversen Versuchen muss ich dir jetzt mitteilen, dass ich nicht in der Lage war deine e-mailadresse aus diesem Geschreibsel "scorcher24 antispamat gmail antispamdot com" zu extrahieren hier ein paar fehlgeschlagene Versuche:
scorcher24antispam@gmail.com
scorcher24antispam@gmailaintispam.com
antispam@gmail.com
antispam@gmailantispam.com
scorcher24@gmail.com
scorcher24@gmailantispam.com
Und noch einige mehr habe ich versucht, könntest du deine e-mail adresse also bitte so schreiben, dass ich in der Lage bin sie zu erkennen
Danke
-
Ok, danke hat sih erledigt, nach dem ganzen scheiß habe ich einfach den Borland-Compiler genommen, und dann gings wunderbar, danke für eure bemühungen.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.