Newsgroup: it.comp.lang.c++
Titolo: compilare boost::serialization

Nonostante abbia letto la documentazione non riesco a compilare la 
libreria serialization delle boost sotto VC7.. i doc dicono che sono 
necessarie le spirit le ho aggiunte ma il risultato non cambia. Sotto 
mingw32 sono riuscito a compilare senza inserire le spirit ( rinunciando 
agli archivi xml non sembrano esserci problemi ) purtroppo pero' su 
VisualC ci sono plugin a cui non posso rinunciare..
Qualcuno ha avuto i miei stessi problemi ( e magari anche una 
soluzione)?
..e scusate l'OT ma nei gruppi che si occupano di visual studio non 
sembrano essere in molti ad usare le boost!

Hai piu' probabilita' di ottenere risposte sulla mailing list di Boost,
che trovi qui: 
http://www.boost.org/more/mailing_lists.htm#users
Ciao,
Nicola


puoi usare questo NG
gmane.comp.lib.boost.devel
sul server 
news.gmane.org
maggiori info su 
http://www.gmane.org/
Spero ti aiuti
===
Trematerra Giovanni

 
Grazie a entrambi, ho risolto i problemi di compilazione ma ne sono 
usciti altri a run-time... su gmane ho visto che non sono l'unico ad 
avere problemi, le boost::serialization non sembrano ancora molto 
stabili e multipiattaforma, alla fine ho lasciato perdere ( almeno fino 
alla prossima versione ) e mi sono impletato io la serializzazione, non 
sara' molto portabile, non salva in XML ne recupera automaticamente i 
puntatori pero' funziona e so cosa fa'..

 puntatori pero' funziona e so cosa fa'..
Non so se può interessare, ma sto giocando a realizzare un supporto alla
reflection in C++, e come applicazione di essa un serializzatore.
Per ora il tutto è ad uno stadio molto iniziale.
Dovrebbe essere ragionevolmente portabile sui compilatori di ultima 
generazione.
Ancora non è che faccia molto... però potrebbe servire a 
qualcosa...magari in futuro, quando sarà conclusa.
Vorrei sapere cosa ne pensate, come pensate sia scritta, se ha senso 
portarla avanti ed eventuali suggerimenti.. ecc ecc
Se qualcuno ha qualche minuto da perdere... :-) ...mi farebbe piacere!
Una versione la potete trovare qui:
http://utenti.lycos.it/lombarde/
Non ci sta nè documentazione, nè un makefile.
C'è solo un progetto vs2003.
Ad ogni modo è semplice farla compilare su altre piattaforme (spero :-) )
Un esempio d'uso:
struct Foo
{
	int a;
	char b;
	META(Foo, (FIELD(a), FIELD(b)));
};
REGISTER(Foo);
struct PFoo
{
	Foo* pfoo1;
	Foo* pfoo2;
	META(PFoo, (FIELD(pfoo1), FIELD(pfoo2)))
};
REGISTER(PFoo);
struct CFoo : public Foo
{
	Foo cfoo;
	META_EXT(CFoo, Foo, (FIELD(cfoo)))
};
REGISTER(CFoo);
// serializzazione di un oggetto di tipo Foo.
Foo foo;
foo.a = 1;
foo.b = '2';
ofstream ofs;
ofs.open("test.bin", ios::binary);
BinSerializer ser(ofs);
const ClassType<Foo>& type = static_cast<const 
ClassType<Foo>&>(TypeOf<Foo>::get());
ser.visitClassType(type, &foo);
// serializzazione di un oggetto di tipo PFoo.
Foo foo1;
foo1.a = 1;
foo1.b = '2';
Foo foo2;
foo2.a = 3;
foo2.b = '4';
PFoo foo3;
foo3.pfoo1 = &foo1;
foo3.pfoo2 = &foo2;
fstream ofs;
ofs.open("test.bin", ios::binary);
BinSerializer ser(ofs);
const ClassType<PFoo>& type = static_cast<const 
ClassType<PFoo>&>(TypeOf<PFoo>::get());
ser.visitClassType(type, &foo3);
// deserializzazione dell'oggetto sopra.
std::ifstream ifs;
ifs.open("test.bin", std::ios::binary);
BinDeSerializer ser(ifs);
PFoo* pfoo = static_cast<PFoo*>(ser.res);
--
Fabio.


Nell'intro della documentazione di serialization vi sono riferite altre
4/5 librerire, tra cui la s11n che mi dicono sia buona.
Saluti
-- 
int

 
Grazie mille lo terro' presente in futuro, per l'uso stupido che devo 
farne ora bastano la mie 2 classi...