Gute Dateibibliotheken in C++?
-
brotbernd schrieb:
TomTim schrieb:
Ganz offen gefragt, ist das euer Ernst?
Ja.
Ganz offen gesagt, versuch dich einfach mal aus deiner eigenen Denkweise zu quälen und tu es so, wie es eben richtig gemacht wird. Welchen Compiler hast du denn nun? Mit VC dauert das keine 5 Minuten, das hättest du schon gestern haben können, wenn Du mal einen Rat befolgt hättest.Windows 7, Visual Studio 2008
-
boost::filessystem benötigt das Bauen der libs. Header alleine reichen dort leider nicht.
pumuckl schrieb:
HighLigerBiMBam schrieb:
Ich habe mir gestern gedacht, ach ich könnte mir mal wieder eine neuere Version von Boost bauen. Gesagt getan... ich war den ganzen Abend beschäftigt x86 und x64 für msvc10 und msvc09 zu erstellen

Kann mir einen schöneren Zeitvertreib vorstellen

Deshalb gibts diese doch recht häufig benötigten Konfigurationen bereits fertig gebaut zum runterladen. Geht ratzfatz.
Wenn du dir was schöneres vorstellen kannst als sowas selber zu bauen solltest du nicht auf den Gedanken kommen es selber zu bauen.
Ich mache das lieber selbst bevor diese auf meinem System nicht richtig laufen.
-
Also jetzt mal ernsthaft: das Getting Started von Boost.org ist sehr ausführlich und verständlich. Jeder der mehr als Mausschubser ist und weiß wo die Kommandozeile in Windows ist, sollte Boost gebaut bekommen. Die Einrichtung dauert vielleicht für einen bjam-Anfänger max. 10 Min. Spätere Boost-Versionen baut man dann in 1 Minute, weil man schon mal alles eingerichtet hat.
Wer hier scheitert, sollte sich überlegen, ob er wirklich C++ programmieren will oder überhaupt ernsthaft Programmierer sein will und sich so nennen darf.
Man muß sich einarbeiten. Vielleicht das Getting Started zwei mal durchlesen. Aber es sind in Wirklichkeit zwei oder drei Aktionen. Der Build von Boost dauert selbst sehr lange, aber da kann man ja Kaffee machen und trinken.
Und eine LIB oder DLL zu verwenden, ist ja nun wirklich das selbst verständlichste für einen Programmierer.
-
TomTim, was war denn nun genau der Grund, den Installer nicht zu verwenden, den ich übrigens schon vorgestern vorgeschlagen habe? Gerade wenn es einem derart schwer fällt, Boost einzurichten, ist das doch eine angenehme Möglichkeit.
-
Nexus schrieb:
TomTim, was war denn nun genau der Grund, den Installer nicht zu verwenden, den ich übrigens schon vorgestern vorgeschlagen habe? Gerade wenn es einem derart schwer fällt, Boost einzurichten, ist das doch eine angenehme Möglichkeit.
Ein Grund, der inzwischen nicht mehr zählt. Vergesst es einfach.
Artchi schrieb:
Also jetzt mal ernsthaft: das Getting Started von Boost.org ist sehr ausführlich und verständlich. Jeder der mehr als Mausschubser ist und weiß wo die Kommandozeile in Windows ist, sollte Boost gebaut bekommen. Die Einrichtung dauert vielleicht für einen bjam-Anfänger max. 10 Min. Spätere Boost-Versionen baut man dann in 1 Minute, weil man schon mal alles eingerichtet hat.
Wer hier scheitert, sollte sich überlegen, ob er wirklich C++ programmieren will oder überhaupt ernsthaft Programmierer sein will und sich so nennen darf.
Man muß sich einarbeiten. Vielleicht das Getting Started zwei mal durchlesen. Aber es sind in Wirklichkeit zwei oder drei Aktionen. Der Build von Boost dauert selbst sehr lange, aber da kann man ja Kaffee machen und trinken.
Und eine LIB oder DLL zu verwenden, ist ja nun wirklich das selbst verständlichste für einen Programmierer.
Tut mir wirklich leid,
aber ich bin von anderen Bibliotheken anderes gewohnt. Ein solche dämliches Design habe ich selten erlebt, daher ist es kein Wunder, dass ich damit nicht klarkomme.Beispielsweise bei der Irrlicht-Engine: dort sind die Includes, seperiert ist der Quellcode, dann gibt es vorerstellte Projekte, mit denen man die Engine erweitern kann, und sogar noch vorkompilierte LIBs und DLLs. Um die Engine zu nutzen, einfach die Includes, LIB und DLL angeben und fertig.
Aber warum einfach, wenn es auch kompliziert geht?
Ich bin völlig verwirrt, ich bekomme hier Links, von denen ich nicht weiß, was sie sind. Anfangs bekomme ich bjam, dann endlich ein Archiv, das so aussieht wie Boost, dann erfahre ich, dass man bei Boost::filesystem den Quellcode braucht, da ausgerechnet dieser Namespace NICHT header-only ist, kriege (trotz GettingStarted) NICHT raus, wo dieser ist, bekomme auch den Quellcode nicht raus ... jetzt mal ehrlich, was ist der Sinn eine nicht header-only-Datei, wenn der Quellcode nicht vorhanden ist?
Und NEIN, ich will keine LIB und DLL, ich will den Quellcode - kann ja sein, dass ich diesen editieren muss.Und wieso überhaupt bjam? Ich meine, mit Visual Studio 2008 kann ich die Bibliotheken genausogut bauen, nur brauche ich dafür den Quellcode ...
-
boost/libs/filesystem
Dort befindet sich Dokumentatio, Beispiele, Unit Test, Source und ein jam Buildfile. Wie kann man so blind oder verwirrt sein, das nach 5 Tagen immer noch nicht gefunden zu haben.
Aber zum x-ten mal: Eigentlich braucht man das überhaupt ncht zuwissen, denn entweder installiert man sich das ganze extrem einfach über den boostpro Installer oder baut sich den Kram mit bjam. Boost ist boost und kein Irrlich oder sonstwas.
-
TomTim schrieb:
...
Schwer zu verstehen Deine Syntax ist.
Bei boost sind auch Quellen und Header getrennt. Header liegen unter
<BOOST_ROOT>/boostund die Quellen unter<BOOST_ROOT>/libs.
Zum Erstellen der Bibliotheken muss man das Kommando mit zwei bis drei Argumenten eintippen. Wenn man das nicht hinbekommt, sollte man von 3d-Engines vielleicht besser auch die Finger lassen.
-
TomTim schrieb:
Tut mir wirklich leid,
aber ich bin von anderen Bibliotheken anderes gewohnt. Ein solche dämliches Design habe ich selten erlebt, daher ist es kein Wunder, dass ich damit nicht klarkomme.Ich halte das Design absolut nicht für dämlich. Bedenk bitte auch wie viele verschiedene Compiler und Plattformen unterstützt werden, und wie viele Einstellungen (Singe-/Multithreaded, Debug/Release,...) in die Erzeugung hinein spielen.
Bei Boost handelt es sich zudem nicht um eine, sondern um sehr viele Bibliotheken, die auch zum Teil in den TR1 und den kommenden Standard eingeflossen sind. Und Boost setzt auch voraus, das mehrere Plattformen unterstützt werden müssen.
TomTim schrieb:
Und NEIN, ich will keine LIB und DLL, ich will den Quellcode - kann ja sein, dass ich diesen editieren muss.
Dann vergiss es, oder beteilige dich bei dem Designprozess der aber mit Reviews abgesegnet werden muss. Boost ist ungeachtet deiner Meinung eine der wichtigsten Bibliothekssammlungen neben der Standardbibliothek (und mit Sicherheit besser durchdacht und geprüft, als es ein Einzelner hinbekommt).
TomTim schrieb:
Und wieso überhaupt bjam? Ich meine, mit Visual Studio 2008 kann ich die Bibliotheken genausogut bauen, nur brauche ich dafür den Quellcode ...
Weil Boost nicht nur für VC ist, sondern für nahezu jeden Compiler mit gewissen Verbreitungsgrad.
-
asc schrieb:
Ich halte das Design absolut nicht für dämlich. Bedenk bitte auch wie viele verschiedene Compiler und Plattformen unterstützt werden, und wie viele Einstellungen (Singe-/Multithreaded, Debug/Release,...) in die Erzeugung hinein spielen.
Irrlicht schafft das aber auch ... :C:
asc schrieb:
Bei Boost handelt es sich zudem nicht um eine, sondern um sehr viele Bibliotheken, die auch zum Teil in den TR1 und den kommenden Standard eingeflossen sind. Und Boost setzt auch voraus, das mehrere Plattformen unterstützt werden müssen.
OK ... endlich erklärt mir jemand das ganz ausführlich.
asc schrieb:
Dann vergiss es, oder beteilige dich bei dem Designprozess der aber mit Reviews abgesegnet werden muss. Boost ist ungeachtet deiner Meinung eine der wichtigsten Bibliothekssammlungen neben der Standardbibliothek (und mit Sicherheit besser durchdacht und geprüft, als es ein Einzelner hinbekommt).
OK, wenn das so ist, werde ich mich damit abfinden müssen.
asc schrieb:
Weil Boost nicht nur für VC ist, sondern für nahezu jeden Compiler mit gewissen Verbreitungsgrad.
Verstehe. Nun, dann habt Dank für die Hilfe und die Geduld.
-
Also ich verstehe dein Problem überhaupt nicht...
Um boost zu verwenden brauchst du zwei Dinge:
1. Boost selbst
2. bjamDu entpackst dann das Boost Archiv in einen Ordner deiner Wahl und installierst bjam. Dann wechselst du in der Windows Konsole in diesen Ordner und tippst "bjam" ein, nichtmal Argumente musst du zwingenderweise übergeben, da bjam sich den verfügbaren Compiler, etc. selber heraussucht. Zumindest auf Windows mit dem MSVC 2010 funktioniert das wunderbar.
Wenn irgendetwas nicht funktioniert, sagt dir bjam auch wo das Problem lag.Was auch schön ist: Am Ende, wenn alles fertig kompiliert ist, sagt dir bjam sogar schön was du einbinden musst:
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
C:\boost\boost_1_44_0
The following directory should be added to linker library paths:
C:\boost\boost_1_44_0\stage\libBesser geht's eigentlich nicht.
kann ja sein, dass ich diesen editieren muss.
Sicherlich nicht... Wenn du schon Probleme hast die Bibliothek überhaupt zu installieren, würde ich dir auch nicht raten den Quellcode zu verändern...