Hallo, wenn ich bei Win10 ein C++-Programm mit eclipse und MINGW64 mit einem eigenen Makefile compiliere, erscheint beim Ausführen der der *.exe-Datei die Fehlermeldung : "Die Ausführung des Codes kann nicht fortgesetzt werden, da libwinpthread-1.dll nicht gefunden wurde." Wenn man im Betriebssystem unter PATH den Pfad zur Datei "libwinpthread-1.dll" angibt, funktioniert das Programm. Damit das Programm aber auch auf anderen Rechnern sicher lauffähig ist, wäre es besser, den Code mit in das Programm aufzunehmen. Hat jemand einen Tipp, wie man dll´s bei eclipse und MINGW64 mit in das executable aufnimmt ? Geht das über eine Option in Eclipse oder gibt es da einen speziellen Befehl im makefile ? THX !
Mario M. schrieb: > Ich würde die DLL einfach in den EXE-Ordner kopieren. Er möchte aber: pointer schrieb: > Damit das Programm aber auch auf anderen Rechnern sicher lauffähig ist, > wäre es besser, den Code mit in das Programm aufzunehmen. Das bedeutet meines Wissens nach, dass die DLL mit dazu gelinkt werden müsste...
Mit meinem bescheidenen Windowswissen ist aber das nicht möglich mit einer DLL. Falls man den Quelltext dazu hat, müsste man den zu einer LIB kompilieren statt zu einer DLL. Die LIB kann man dann mit seinem restlichen Programm linken und hat alles in einer Datei.
Statisch linken mit der statischen Variante der Bibliothek: https://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll-in-mingw
physicist schrieb: > Statisch linken mit der statischen Variante der Bibliothek: > https://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll-in-mingw Danke, es kann so einfach sein : "If your toolchain includes the static winpthreads, adding the option -static Will pull in static versions of all libraries it can." mit "FLAGLIB = -L${LIB_DIR} -static" hat das Programm scheinbar alles was es braucht und läuft ohne externe Libraries.
Ein anderer Weg ist, wenn man nur die DLL braucht, diese als RC_DATA als Ressource einbinden. Beim Start des Programms zuerst die Ressource wieder auslesen und in den Programmordner speichern. Dann wie gewohnt verfahren. Aber es ist ja schon eine bessere Lösung vorgeschlagen worden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.