boost::serialization: kein export.hpp in pch

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Jonathan
Establishment
Beiträge: 2395
Registriert: 04.08.2004, 20:06
Kontaktdaten:

boost::serialization: kein export.hpp in pch

Beitrag von Jonathan »

Ich benutze boost serialization und muss jetzt das BOOST_CLASS_EXPORT_GUID Makro benutzen, um meine Klasse zu registrieren. Dieses ist in der export.hpp definiert, die ich deshalb includieren muss. Interessanterweise darf ich die nicht in einen PCH packen, sondern muss die jedesmal von Hand inkludieren, wenn ich das Makro benutzen will, ansonsten bekomme ich den Fehler "error C2888: 'boost::archive::detail::`anonymous-namespace'::init_guid<ComponentProducer>': Symbol kann nicht im Namespace 'anonymous-namespace' definiert werden".

Jetzt würde ich gerne wissen, warum das so ist. Gefunden habe ich dazu folgenden Link:
http://lists.boost.org/boost-users/2009/05/48315.php
(bei "next in Thread" gehts weiter), der mir zwar geholfen hat, das Problem zu lösen (ich wäre nie auf die Idee gekommen, den Header aus der PCH zu nehmen), aber ich würde jetzt auch gerne verstehen, warum das so ist.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten