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:

Libs, dll.a, bi & Co

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



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 04.02.2009, 11:40    Titel: Libs, dll.a, bi & Co Antworten mit Zitat

Hi @ all

Ich beschäftige mich derzeit gerade etwas mit FreeBasic und stelle mir die Frage, wie das Einbinden einer Bibliothek eigentlich funktioniert.

Es gibt da DDL.A Dateien, BI-Dateien und DLL-Dateien. Was sind diese bzw. für was werden sie benötigt.
Aus QB kenne ich ja die QLB (denke das ist hier die DLL) und die BI (wird hier dasselbe sein). Was ist nun die DLL.A?

Wie kann man andere Bibliotheken einbinden? z.B. QT, o.ä.
Oder geht das überhaupt?
Wie funktionieren solche Bibliotheken unter Windows?

LG,
St_W
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 04.02.2009, 15:30    Titel: Antworten mit Zitat

.DLL.A-Dateien sind nicht anderes als die aus C bekannten LIB-Dateien. Darin werden AFAIK die Referenzen der DLL-Datei "deklariert".

Zitat:
Wie kann man andere Bibliotheken einbinden? z.B. QT, o.ä.
Oder geht das überhaupt?

Wenn nicht schon durch die FB-Community geschehen: C-headerfiles (.h) durch SWIG jagen, ggf. die erzeugte .bi-Datei lauffähig machen, die .lib-Datei in .dll.a umbenennen. Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 04.02.2009, 15:47    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
die .lib-Datei in .dll.a umbenennen. Zunge rausstrecken


Mööp, falsch!
.lib ist die Endung für Visual C Bilbiotheken. Die kann man nicht einfach so umbennen, per dlltool kann man aus einer .def eine .a machen, aber es gibt keinen Konverter .lib <-> .a zwinkern
Das sind zwei vollkommen unterschiedliche Formate (.a => GCC)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 04.02.2009, 16:33    Titel: Antworten mit Zitat

warum haben sie dann genau den gleichen inhalt und vor allem... warum funktioniert es dann trotzdem? Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 04.02.2009, 16:35    Titel: Antworten mit Zitat

Natürlich kann es sein, dass deine .lib von dlltool bzw. einem kompatiblen tool erstellt wurde, nur für gewöhnlich ist .lib nunmal VC, und das ist 100%ig nicht kompatibel zwinkern (Das haben auch meine früheren Versuche bestätigt.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 04.02.2009, 16:53    Titel: Antworten mit Zitat

nimm einfach die aktuelle bass.lib, es geht problemlos. Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 04.02.2009, 17:10    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
nimm einfach die aktuelle bass.lib, es geht problemlos. Zunge rausstrecken

Seit wann geht es hier um BASS? o_O
Es geht hier allgemein um Bibliotheken, und das bei BASS die .lib als .a funktioniert, scheint eher ein Fehler der Dateinamenserweiterung zu sein!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 04.02.2009, 17:40    Titel: Antworten mit Zitat

Natürlich geht es nicht um BASS. Es geht um lib- und dll.a-Dateien. Zunge rausstrecken Und daraum, dass es im Grunde genau das selbe ist...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 04.02.2009, 20:54    Titel: Antworten mit Zitat

Danke erstmal für die reichlichen Antworten.

Konkret habe ich das Vorhaben, die Bibliothek zur GUI-Programmierung "QT" (siehe http://de.wikipedia.org/wiki/Qt_(Bibliothek) oder hier) in FreeBasic zu verwenden.

Die Bibliothek ist in C++ geschrieben. Ich stelle mir das so vor, dass ich zuerst die "*.DLL" und die "*.A" mit einem Cpp-Compiler erstelle und dann die Header Datei für FreeBasic übersetze.
Funktioniert das so bzw. ist es überhaupt möglich?

Weil ihr "SWIG" erwähnt habt: Meint ihr das: http://www.swig.org/ ? Ich habe auf der Homepage keinen Hinweis darauf gefunden, dass es FreeBasic unterstützt, oder habe ich da was übersehen? Weiters weiß ich nicht genau zu was man das braucht. Ist das ein Programm, das mir die Header-Datei des Cpp-Programms automatisch für FreeBasic ersetzt?
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 04.02.2009, 21:29    Titel: Antworten mit Zitat

Sorry, gemeint war natürlich SWIG FB. Den Namen sieht man ja des öfteren in den FB-headern zu irgendwelchen Bibliotheken. zwinkern
http://dl.28398.org/SWIG%20FB.7z
du brauchst erst mal eine DLL-Datei, die du, wie du selbst sagst, ggf selbst kompilieren musst. bei QT sollte eine .h-Datei zum Einbinden in eigene Programme beiligen, die wird durch SWIG gejagt. Der C++-Compiler sollte auch eine passende lib-Datei erstellen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 04.02.2009, 22:05    Titel: Antworten mit Zitat

Danke für die reichliche Hilfe. Ich werde mich wieder melden nach dem Download der Libs, Wrapper & Sonstigem und meinen ersten Versuchen zu Kompilieren.

Jojo hat Folgendes geschrieben:
[...] Den Namen sieht man ja des öfteren in den FB-headern zu irgendwelchen Bibliotheken.

Wie gesagt, ich beschäftige mich erst seit kurzem mit FB, bin ein Umsteiger von QB & Assembler unter DOS, darum sind mir Höhere Programmiersprachen, moderne Programmiertechniken (Objektorientierung, Klassen, Methoden, und was es da sonst noch gibt...), grafische Oberflächen (Windows, Linux sowieso, ...) und eben auch (dynamisch einbindbare) Bibliotheken völlig neu und eine große Umstellung und Umgewöhnung.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 05.02.2009, 08:53    Titel: Antworten mit Zitat

.DLL Dateien und .A Dateien habe ich schon, jetzt fehlen noch die .BI Dateien. Aber ich verstehe einfach nicht, wie man dieses SWIG bedient - welche Parameter man übergeben muss - und das trotz lesen der Readme und etwas Suchen auf swig.org.

Hat jemand Erfahrung mit dem Programm bzw. weiß wie man es verwendet?
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 05.02.2009, 16:51    Titel: Antworten mit Zitat

Es gab einmal einen Thread ([url=]hier[/url]). Deswegen hatte ich SWIG FB auch auf meinem Space hochgeladen, worauf Jojo vorhin verlinkt hat zwinkern
http://www.freebasic.net/forum/viewtopic.php?t=11706
http://www.freebasic.net/forum/viewtopic.php?t=12532
http://www.freebasic.net/forum/viewtopic.php?t=12839
http://www.freebasic.net/forum/viewtopic.php?t=10984
http://www.freebasic.net/forum/viewtopic.php?t=1739
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 05.02.2009, 22:08    Titel: Antworten mit Zitat

Na also es geht doch...
@Jojo, @csde auch wenn das bald wieder ein Streit-Thread wurde;

Sieh mal an, zusammen ergänzen Sie sich und es kommt noch was positives dabei heraus. vor Freude klatschen
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 05.02.2009, 23:23    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
Na also es geht doch...
[...]
Sieh mal an, zusammen ergänzen Sie sich und es kommt noch was positives dabei heraus.


Ganz meine Meinung. Möchte mich an dieser Stelle außerdem einmal für die bisherige Hilfe bedanken.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
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 -> Bibliotheken 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