Wird Boost::Spirit vom Builder XE unterstützt?
-
Hallo,
die Boost Lib wird ja vom BCB leider nur teilweise unterstützt. Nun wollte ich mit der Spirit lib arbeiten, bekomme aber schon einen Fehler wenn cih nur den Spirit Header einbinde. HAt hier jemand Erfahrung ob sich weitere Untersuchungen lohnen oder bereits bekannt ist, dass die Spirit lib nicht funktioniert.Diese Define gesetzt:
#define BOOST_TR1_USE_OLD_TUPLEDen Header habe ich eingebunden :
#include <boost/spirit.hpp>(Erster) Fehler ist in closures.hpp. Danach folgen recht viele weitere:
E2299 Vorlagenspezialisierung kann aus impl::closure_frame_holder<FrameT> nciht generiert werden.
E2040 Deklaration nicht ordnungsgemäß abgeschlossen.Closures.hpp
private: closure_frame(closure_frame const&); // no copy closure_frame& operator=(closure_frame const&); // no assign closure_frame* save; impl::closure_frame_holder<closure_frame>& frame; -> hier liegt der Fehler };
Muss man vorher noch was zus. einbinden?
Danke für die Hilfe...
Jörn
-
Hallo,
mit Spirit arbeite ich leider nicht, aber zumindest kann ich aus dem Vergleich der Boost im Builder und einer aktuellen Version für Visual Studio sagen:
Wenn überhaupt, dann ist nur "Spirit Classic", wie es heute in der Doku heißt, also eine 1.x Version von Spirit in der Boost 1.39 von XE. In Boost 1.52 sind die schon bei Spirit 2.5.2.
Ich denke, da gibt es diverse Unterschiede. Möglicherweise muss man dann gleichzeitig gegen Compilermacken und eine alte Bibliotheksversion kämpfen.
-
...so, Problem gelöst. Es fehlte nur ein zus. Header. Die Fehlermeldung war wirklich sehr irreführend.
Es fehlte #include <boost/spirit/phoenix/Closures.hpp>
Jörn