Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 04.02.2009, 12:40 Titel: Libs, dll.a, bi & Co |
|
|
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 |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 04.02.2009, 16:30 Titel: |
|
|
.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. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 04.02.2009, 16:47 Titel: |
|
|
Jojo hat Folgendes geschrieben: | die .lib-Datei in .dll.a umbenennen. |
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
Das sind zwei vollkommen unterschiedliche Formate (.a => GCC) |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 04.02.2009, 17:33 Titel: |
|
|
warum haben sie dann genau den gleichen inhalt und vor allem... warum funktioniert es dann trotzdem? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 04.02.2009, 17:35 Titel: |
|
|
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 (Das haben auch meine früheren Versuche bestätigt.) |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 04.02.2009, 17:53 Titel: |
|
|
nimm einfach die aktuelle bass.lib, es geht problemlos. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 04.02.2009, 18:10 Titel: |
|
|
Jojo hat Folgendes geschrieben: | nimm einfach die aktuelle bass.lib, es geht problemlos. |
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 |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 04.02.2009, 18:40 Titel: |
|
|
Natürlich geht es nicht um BASS. Es geht um lib- und dll.a-Dateien. 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 |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 04.02.2009, 21:54 Titel: |
|
|
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 |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 04.02.2009, 22:29 Titel: |
|
|
Sorry, gemeint war natürlich SWIG FB. Den Namen sieht man ja des öfteren in den FB-headern zu irgendwelchen Bibliotheken.
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 |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 04.02.2009, 23:05 Titel: |
|
|
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 |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 05.02.2009, 09:53 Titel: |
|
|
.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 |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1874 Wohnort: D59192
|
Verfasst am: 05.02.2009, 23:08 Titel: |
|
|
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. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 06.02.2009, 00:23 Titel: |
|
|
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 |
|
|
|