dll in executable integrieren;

Gast #6971357
Lesenswert?

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 !
Gast #6971621
Lesenswert?

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.
(Firma: Privat) #6971698
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren