Frage

Ist Boost die einzige Möglichkeit für VS2005-Benutzer, TR2 zu erleben?Gibt es auch eine idiotensichere Möglichkeit, nur die TR2-bezogenen Pakete herunterzuladen?

Ich habe mir den Boost-Installer von BoostPro Consulting angesehen.Wenn ich die Optionen für alle Threading-Optionen mit allen Paketen für MSVC8 auswähle, sind 1,1 GB erforderlich.Obwohl es mir nicht an Platz mangelt, kommt es mir lächerlich vor, dass a Bibliothek benötigt über ein Gigabyte Speicherplatz und BPC braucht lange, um mit der aktuellen Version Schritt zu halten.

Welche Pakete benötige ich?Eigentlich interessiere ich mich nur für diejenigen, die std::tr2 enthalten, und kann das herausfinden, indem ich die angebotenen mit denen im TR2-Bericht vergleiche und diese aus der Liste auswähle, aber selbst dann ist nicht klar, was benötigt wird und was Die Tatsache, dass es sich um eine Version dahinter handelt, nervt mich.

Ich weiß aus früheren Begegnungen mit Boost (1.33.1), dass das Selbstkompilieren eine miserable Erfahrung ist:Es wird viel Zeit verschwendet, um es in Gang zu bringen, und dann geht eine Schar von Fehlern schneller über Ihren Bildschirm, als Sie lesen können, sodass Sie das ungute Gefühl haben, dass etwas kaputt ist, Sie aber nicht genau wissen, was.

Ich hatte noch nie solche Probleme mit einer Apache-Bibliothek, aber das ist eine weitere Schimpftirade ...

War es hilfreich?

Lösung

Ich glaube, Sie beziehen sich tatsächlich darauf TR1, statt TR2.Der Aufruf zur Einreichung von Vorschlägen für TR2 ist offen, aber erwarten Sie keine großen Veränderungen, bis der neue C++-Standard veröffentlicht ist.Auch wenn Boost ein Anbieter einer Implementierung von TR1 ist, sind Dinkumware und das GNU FSF weitere Anbieter – unter VC2005 ist Boost wahrscheinlich der einfachste Weg, auf diese Funktionalität zuzugreifen.

Die wahrscheinlich wichtigsten Bibliotheken von Boost sind:

  • Referenz
  • intelligenter Zeiger
  • binden
  • Typmerkmale
  • Array
  • Reguläre Ausdrücke

Die Dokumentation für Building Boost wurde in den letzten Versionen, der aktuellen Version, schrittweise verbessert Leitfaden für den Einstieg ist ziemlich detailliert.Smart Pointer und Bind sollten über Header-Dateien funktionieren, und meiner Meinung nach sind dies die nützlichsten Elemente von TR1.

Andere Tipps

Das Schöne an Boost ist, dass sich der gesamte Code in Header-Dateien befindet.Aus vorlagentechnischen Gründen ist dies notwendig.Daher wird es wahrscheinlich funktionieren, den Code herunterzuladen und in Ihr Projekt einzubinden.Es gibt einige Bibliotheken in Boost, die kompiliert werden müssen, aber solange Sie diese nicht benötigen ...

Die Bibliotheken aus TR1/TR2, die mich am meisten interessieren, sind Threads und das damit verbundene Atomik.

Das Kompilieren der Boost-Bibliotheken selbst ist eigentlich ganz einfach, wenn auch nicht so gut dokumentiert.Die Dokumentation befindet sich in der Jamroot-Datei.Laufen bjam --help Im Boost-Stammverzeichnis finden Sie eine detaillierte Liste der Optionen.Als Beispiel habe ich die folgende Befehlszeile verwendet, um mein aktuelles Setup mit Boost 1.36.0 aufzubauen:

bjam --build-type=complete --toolset=msvc --build-dir=c:\boost\build install

Es lief etwa eine halbe Stunde lang auf meinem Rechner und legte die resultierenden Dateien in c:\boost ab

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top