# DLL Statisch linken



## Faller (15. August 2007)

Ich Nutze Visuel Studio 6.0 
Ich möchte ein dll statisch in mein Projekt anhängen. (also linken)

wie t das.

mein test

 Also "Extras" "optionen" dann "Verzeichnisse" und dann "Bibliotehken" 
dann die lib ausgesucht. 
Und gestetzt. 

Dann auf "Projekt" "Einstellungen" dann auf "Linker" und dann die gdiplus.lib bei "Objekt module" hingeschrieben. 

dann die header Dadein eingebunden. 

zb. 
#include"../neu/GDIPlus/Includes/GdiPlus.h" 

ok 0 Fehler 0 Wahrings programm wird gestartet. 

Problem das t net denn auf nem anderen Rechner fragt er mich wieder nach der sch*** dll.

Die Grösse der Datei ist net so wichtig wichtig ist es das es nur 1 Patei ist also plz erklärt mir ma wie ich das zum funktionieren bekommen.


----------



## MCoder (15. August 2007)

Hallo,

GDI+ kann nicht statisch statisch zum Projekt hinzugefügt werden. Du benötigst auf jeden Fall immer die gdiplus.dll. Diese ist allerdings erst ab Windows XP Bestandteil des Betriebssystems. Du musst daher zusammen mit der EXE auch immer die DLL mitgeben. Dafür gibt's von Microsoft ein Redistributable zum Download.

Gruß
MCoder


----------



## Faller (16. August 2007)

wiso ist es nicht möglich die gdiplus dll statisch zu linken.
Ich hab die Header datein und die lib datei und damit solte es doch möglich seien.

mit diesem redistribunal ist es aber möglich.
aber wie sag ich das dem visual.

Wie linke ich überhaupt statisch.
In der Visuel 6.0 Enterpreis Edition.
könnte jemand mir das mal erklären ne kleine anleitung wäre cool denn im internet finde ich sowas net.

mfg Faller


----------



## MCoder (16. August 2007)

Faller hat gesagt.:


> wiso ist es nicht möglich die gdiplus dll statisch zu linken.
> Ich hab die Header datein und die lib datei und damit solte es doch möglich seien.


Die Lib ist nur eine sogenannte Import-Library und dient zusammen mit dem Header lediglich als Programmierschnittstelle für den Zugriff auf die Funktionen der gdiplus.dll. Diese DLL enthält die eigentliche Funktionalität von GDI+ und wird daher immer mit benötigt.

Gruß
MCoder


----------



## Faller (16. August 2007)

aber wenn ich eine statische linkung einer dll mache.
dann wird ja die dll mit in die exe copiert zumindestens hab ich das so gelessen.

richtig oder falsch?

wie linke ich etwas STATISCH (dll) ? 

mfg Faller


----------



## MCoder (16. August 2007)

Hallo,

eine "statische Linkung einer DLL" gibt es nicht. Die Teile heißen nicht ohne Grund Dynamic Link Library (DLL).

Gruß
MCoder


----------



## Faller (16. August 2007)

"Um png's laden zu können wirst du eh eine separate Lib benötigen, allerdings kannst du diese ja statisch linken daher entstehen keine neuen Abhängigkeiten."


Hab ich so gefunden und daruf stütz ich derzeitig eine tehorie das wenn ich die scheiss dll statisch linke das mein Prog dann ohne dll t .

Faller


----------



## deepthroat (16. August 2007)

Faller hat gesagt.:


> aber wenn ich eine statische linkung einer dll mache.
> dann wird ja die dll mit in die exe copiert zumindestens hab ich das so gelessen.
> 
> richtig oder falsch?


Falsch. Die Dinger heißen ja nicht umsonst *Dynamic Link Library*.

Evtl. hast du etwas über statische DLLs gelesen, das hat damit aber nichts zu tun.

Siehe http://en.wikipedia.org/wiki/Library_(computer_science)


Faller hat gesagt.:


> wie linke ich etwas STATISCH (dll) ?


Es gibt Tools dafür, z.B. http://www.binary-soft.com/dll2lib/dll2lib.htm

Gruß


----------



## deepthroat (16. August 2007)

MCoder hat gesagt.:


> Die Teile heißen nicht ohne Grund Dynamic Link Library (DLL).





			
				deepthroat hat gesagt.:
			
		

> Falsch. Die Dinger heißen ja nicht umsonst Dynamic Link Library.


Ha, zwei Dumme ein Gedanke. 

Gruß


----------



## deepthroat (16. August 2007)

Faller hat gesagt.:


> "Um png's laden zu können wirst du eh eine separate Lib benötigen, allerdings kannst du diese ja statisch linken daher entstehen keine neuen Abhängigkeiten."
> 
> 
> Hab ich so gefunden und daruf stütz ich derzeitig eine tehorie das wenn ich die scheiss dll statisch linke das mein Prog dann ohne dll t.


Ja, wenn du eine statische .lib hast, kannst du diese Bibliothek auch statisch linken. Eine .lib Datei ist aber entweder statisch oder dynamisch. Wenn sie nur eine dynamische Bibliothek ist, dann benötigt man immer zur Laufzeit auch die entsprechende DLL.

Gruß


----------



## Faller (16. August 2007)

wie finde ich raus ob sie dynamisch oder statisch ist ?

Heist also wenn gdi plus eine statische lip Datei dabei hat.
dann kann ich sie einbinden wenn net hab ich e Problem

sehe ich das richtig


Faller


----------



## MCoder (16. August 2007)

Faller hat gesagt.:


> wie finde ich raus ob sie dynamisch oder statisch ist ?


Da gibt's sicherlich irgendwelche Unterschiede im Dateiformat, kannst du ja bei Interesse mal recherieren. Meist erkennt man aus den Anwendungshinweisen, worum es geht. Fällt irgendwo der Begriff "Import library" bzw. gehört noch eine DLL dazu, ist es eine dynamische Angelegenheit.

Gruß
MCoder

P.S: Das Thema hatten wir doch schon mal durchgekaut: http://www.tutorials.de/forum/c-c/281617-bild-zeigen-ausgeben.html ?


----------

