PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linken ohne das eine dll benötigt wird?


TheGamer
2004-02-04, 18:49:11
Hallo,

was muss ich bei VC++ machen damit ich beim kompilieren einer exe die im normalfall beim starten eine datei.dll benötigt, das es diese datei nicht mehr benötigt (die exe wird ja größer aber das ist egal).
Beim kompilieren wird ja die datei.lib gelinkt, das benötigt aber nachher die datei.dll
Wie kann ich das unter VC++ einstellen das alles in die exe gepackt wird??

greets
thegamer

Xmas
2004-02-04, 22:09:05
Gar nicht, es sei denn es gibt die DLL auch als statische Bibliothek.

ScottManDeath
2004-02-04, 23:19:37
Über sieben Ecken und mit ein paar "fiesen Tricks" würde das gehen.


DLL als Binärressource in die exe packen
zur Laufzeit diese Binärdaten auf HD speichern
mittels LoadLibrary() und GetProcAddress() die Zeiger auf Funktion(en) bekommen und aufrufen
Datei löschen beim Programmende


Aber: Kids don't try this at home ;)

btw, Warum willst du die DLL nicht mit umherkopieren?

RoKo
2004-02-04, 23:37:02
Irgendwann hatte ich im Internet mal ein Programm entdeckt, daß aus einer DLL eine statische Library machen kann - und wenn ich mich recht entsinne, hat das Programm auch ganz gut Geld gekostet.

Ich seh die Sache so: Wenn der Entwickler der DLL wollte, daß man sein Zeugs statisch dazulinken kann, hätte er eine entsprechende .lib zur Verfügung gestellt.
Hat er dies nicht getan, sollte man seinen Wunsch respektieren.

TheGamer
2004-02-05, 10:52:52
Danke für die Antworten.

Mich hats nur mal interessiert ob das gehen würde