Forum: PC-Programmierung Dll Problem mit header Dateien C


von Ahnungsloser (Gast)


Lesenswert?

Habe ein problem mit der erstellung einer dll.#

Wenn ich mir in eclipse cdt eine .dll Datei erstelle. Erzeug mir der 
compiler zwar eine .dll aber keine .lib Datei.
Ohne die Lib datei muß ich aber dann doch alle Prototyp header im 
Hauptprogramm bekanntmachen, oder muß ich das mit einer .lib Datei auch 
tun.

Ich habe vor die .dll zum Programmstart einzubinden. nur will ich nicht 
alle Prototypen im Hauptprogramm stehen habe.

Ich dachte das Geht genauso wie mit einer statischen Bibliothek oder ist 
das nicht der Fall.

Also was ich genau meine ist folgendes: Wenn ich eine statische 
Bibliothek einbinde zum Beispiel libw32_2.a. dann kann ich ja im 
Mainprogramm einfach angeben #include winsock.h und die Funktionen 
daraus nutzen, ohne das ich die Prototypen der funktionen darin nochmal 
angeben muß.

Nun würde ich dasselbe gerne mit einer dll machen, wegen austauschbar 
und so... Nur erstellt mir da eclipse irgendwie keine Importbibliothek.

Und selbst wenn es eine erstellen würde. Sind dann die prototypen 
vorhanden und ich kann einfach mit #include einbinden so wie ich mir das 
wünsche oder nicht.

Wie würdet ihr das machen, für jede Hilfe wäre ich sehr dankbar...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ahnungsloser schrieb:
> Wenn ich mir in eclipse cdt eine .dll Datei erstelle. Erzeug mir der
> compiler zwar eine .dll aber keine .lib Datei.

Das ist normal, allenfalls gibt es zur Unterstützung noch eine 
sogenannte "import library", die sich mit Tools à la IMPLIB auch 
nachträglich erzeugen ließe.

> Ohne die Lib datei muß ich aber dann doch alle Prototyp header im
> Hauptprogramm bekanntmachen, oder muß ich das mit einer .lib Datei auch
> tun.

Das musst Du so oder so, der C-Compiler selbst wertet Libraries 
überhaupt nicht aus, das tut erst der Linker.

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
Noch kein Account? Hier anmelden.