Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Fremde DLL in FreeBasic einbinden

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
habe



Anmeldungsdatum: 23.02.2010
Beiträge: 17

BeitragVerfasst am: 13.08.2011, 20:55    Titel: Fremde DLL in FreeBasic einbinden Antworten mit Zitat

Hallo,

wie kann ich eine DLL die mit einem anderen Compiler erstellt wurde, in FreBasic einbinden.
Bekomme immer folgende Fehlermeldung:
C:\Programme\FreeBASIC\bin\win32\ld.exe: cannot find -lUserForm.dll
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 13.08.2011, 22:15    Titel: Antworten mit Zitat

Wenn diese DLL C-kompatibel ist, brauchst du Header dafür, heißt, du musst die Funktionen, die du willst, auch deklarieren. Erst dadurch werden sie bekannt.

Weiterhin muss der Linker wissen, wo er zu suchen hat. Dazu musst du eine .dll.a erstellen. Das kannst du, falls nicht sowieso schon vorhanden, mit pexports machen. Diese Datei muss nun beim Compilieren im Ordner des Codes liegen oder im FreeBASIC-"lib/win32"-Ordner.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Westbeam



Anmeldungsdatum: 22.12.2009
Beiträge: 760

BeitragVerfasst am: 14.08.2011, 10:21    Titel: Antworten mit Zitat

Warum werden Windowsprobleme eigentlich nicht im Windowsforenteil gepostet? Ich bin immer irritiert und fürchterlich verwirrt, wenn von "DLL" und "WinAPI" geredet wird. traurig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 14.08.2011, 10:59    Titel: Antworten mit Zitat

Hallo,

wie MOD schon schreibt, braucht man dafür eigentlich Header-Dateien. Wenn diese aber nicht vorliegen oder nicht funktionieren (nicht zur Version der DLL kompatibel o.ä.), kann man die Funktionen aus der DLL auch zur Laufzeit laden. Das ist u.a. für das Einbinden von Plugins in eine Anwendung sehr nützlich und funktioniert mit DYLIBLOAD und DYLIBSYMBOL.
Im Befehlsreferenzeintrag zu DYLIBLOAD gibt es ein kleines Beispiel. Aber z.B. auch in diesem Code-Beispiel hier macht sich volta das Vorgehen zunutze, um eine hid.dll zu laden.

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
habe



Anmeldungsdatum: 23.02.2010
Beiträge: 17

BeitragVerfasst am: 14.08.2011, 11:07    Titel: Antworten mit Zitat

Hallo,

sorry das ich im falschen Forenteil gepostet habe.

Hab das Problem mit pexports und dem dlltool hinbekommen.

Danke
Habe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 14.08.2011, 15:42    Titel: Antworten mit Zitat

Die GCC Toolchain kann normalerweise unter Windows auch direkt gegen DLLs linken - gesonderte Bibliotheksdateien (.a/.dll.a) braucht man daher meistens nicht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 14.08.2011, 16:03    Titel: Antworten mit Zitat

Das stimmt, es ist oft nicht nötig, allerdings eben nicht bei jeder DLL. Warum es manche brauchen und manche nicht, kann ich jetzt nicht sagen, wichtig ist aber, dass das Problem erstmal gelöst ist. lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 14.08.2011, 16:30    Titel: Antworten mit Zitat

Dürfte davon abhängen, ob die DLL stripped wurde.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz