<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[boost.serialization]]></title><description><![CDATA[<p>Ich verwende die boost lib um damit Daten zu Serialisieren und als XML abzuspeichern. Das abspeichern klappt wunderbar. Nun will ich einen Archiv-Betrachter programmieren der das ganze wieder lädt, aber da gibt es Probleme.</p>
<p>Ich habe eine eigene Klasse Daten.hpp erstellt, von welcher alle Art von Daten die serialisiert werden sollen abgeleitet sind. Als erstes seien hier die Archivdaten selbst genannt. <a href="http://nopaste.info/6773f633a9.html" rel="nofollow">Hier</a> und <a href="http://nopaste.info/2de8357566.html" rel="nofollow">hier</a> zu finden.</p>
<p>Ich erstelle <a href="http://nopaste.info/fb9646c57e.html" rel="nofollow">hier</a> zum Laden einen Zeiger</p>
<pre><code>ArchivDaten* A;
</code></pre>
<p>und will ihn dann füllen</p>
<pre><code>Archivdatei &gt;&gt; boost::serialization::make_nvp(&quot;ArchivDaten&quot;, A);
</code></pre>
<p>.</p>
<p>Dabei gibt es aber leider Probleme die mir absolut gar nichts sagen:</p>
<pre><code>fabske@neptun:/$ g++ -lboost_serialization -lboost_system ArchivBetrachter.cpp 
/tmp/cchA0ToF.o: In function `boost::serialization::extended_type_info_typeid&lt;ArchivDaten&gt;::extended_type_info_typeid()':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization25extended_type_info_typeidI11ArchivDatenEC2Ev[_ZN5boost13serialization25extended_type_info_typeidI11ArchivDatenEC5Ev]+0x3b): undefined reference to `typeinfo for ArchivDaten'
/tmp/cchA0ToF.o: In function `void boost::serialization::access::construct&lt;ArchivDaten&gt;(ArchivDaten*)':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization6access9constructI11ArchivDatenEEvPT_[void boost::serialization::access::construct&lt;ArchivDaten&gt;(ArchivDaten*)]+0x2a): undefined reference to `ArchivDaten::ArchivDaten()'
/tmp/cchA0ToF.o: In function `boost::serialization::extended_type_info_typeid&lt;Daten&gt;::extended_type_info_typeid()':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization25extended_type_info_typeidI5DatenEC2Ev[_ZN5boost13serialization25extended_type_info_typeidI5DatenEC5Ev]+0x3b): undefined reference to `typeinfo for Daten'
/tmp/cchA0ToF.o: In function `ArchivDaten const* boost::serialization::smart_cast_impl::pointer&lt;ArchivDaten const*&gt;::polymorphic::cast&lt;Daten const&gt;(Daten const*)':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization15smart_cast_impl7pointerIPK11ArchivDatenE11polymorphic4castIK5DatenEES5_PT_[ArchivDaten const* boost::serialization::smart_cast_impl::pointer&lt;ArchivDaten const*&gt;::polymorphic::cast&lt;Daten const&gt;(Daten const*)]+0x21): undefined reference to `typeinfo for ArchivDaten'
ArchivBetrachter.cpp:(.text._ZN5boost13serialization15smart_cast_impl7pointerIPK11ArchivDatenE11polymorphic4castIK5DatenEES5_PT_[ArchivDaten const* boost::serialization::smart_cast_impl::pointer&lt;ArchivDaten const*&gt;::polymorphic::cast&lt;Daten const&gt;(Daten const*)]+0x29): undefined reference to `typeinfo for Daten'
collect2: ld returned 1 exit status
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/293975/boost-serialization</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 00:12:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293975.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Oct 2011 16:19:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost.serialization on Fri, 14 Oct 2011 16:20:00 GMT]]></title><description><![CDATA[<p>Ich verwende die boost lib um damit Daten zu Serialisieren und als XML abzuspeichern. Das abspeichern klappt wunderbar. Nun will ich einen Archiv-Betrachter programmieren der das ganze wieder lädt, aber da gibt es Probleme.</p>
<p>Ich habe eine eigene Klasse Daten.hpp erstellt, von welcher alle Art von Daten die serialisiert werden sollen abgeleitet sind. Als erstes seien hier die Archivdaten selbst genannt. <a href="http://nopaste.info/6773f633a9.html" rel="nofollow">Hier</a> und <a href="http://nopaste.info/2de8357566.html" rel="nofollow">hier</a> zu finden.</p>
<p>Ich erstelle <a href="http://nopaste.info/fb9646c57e.html" rel="nofollow">hier</a> zum Laden einen Zeiger</p>
<pre><code>ArchivDaten* A;
</code></pre>
<p>und will ihn dann füllen</p>
<pre><code>Archivdatei &gt;&gt; boost::serialization::make_nvp(&quot;ArchivDaten&quot;, A);
</code></pre>
<p>.</p>
<p>Dabei gibt es aber leider Probleme die mir absolut gar nichts sagen:</p>
<pre><code>fabske@neptun:/$ g++ -lboost_serialization -lboost_system ArchivBetrachter.cpp 
/tmp/cchA0ToF.o: In function `boost::serialization::extended_type_info_typeid&lt;ArchivDaten&gt;::extended_type_info_typeid()':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization25extended_type_info_typeidI11ArchivDatenEC2Ev[_ZN5boost13serialization25extended_type_info_typeidI11ArchivDatenEC5Ev]+0x3b): undefined reference to `typeinfo for ArchivDaten'
/tmp/cchA0ToF.o: In function `void boost::serialization::access::construct&lt;ArchivDaten&gt;(ArchivDaten*)':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization6access9constructI11ArchivDatenEEvPT_[void boost::serialization::access::construct&lt;ArchivDaten&gt;(ArchivDaten*)]+0x2a): undefined reference to `ArchivDaten::ArchivDaten()'
/tmp/cchA0ToF.o: In function `boost::serialization::extended_type_info_typeid&lt;Daten&gt;::extended_type_info_typeid()':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization25extended_type_info_typeidI5DatenEC2Ev[_ZN5boost13serialization25extended_type_info_typeidI5DatenEC5Ev]+0x3b): undefined reference to `typeinfo for Daten'
/tmp/cchA0ToF.o: In function `ArchivDaten const* boost::serialization::smart_cast_impl::pointer&lt;ArchivDaten const*&gt;::polymorphic::cast&lt;Daten const&gt;(Daten const*)':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization15smart_cast_impl7pointerIPK11ArchivDatenE11polymorphic4castIK5DatenEES5_PT_[ArchivDaten const* boost::serialization::smart_cast_impl::pointer&lt;ArchivDaten const*&gt;::polymorphic::cast&lt;Daten const&gt;(Daten const*)]+0x21): undefined reference to `typeinfo for ArchivDaten'
ArchivBetrachter.cpp:(.text._ZN5boost13serialization15smart_cast_impl7pointerIPK11ArchivDatenE11polymorphic4castIK5DatenEES5_PT_[ArchivDaten const* boost::serialization::smart_cast_impl::pointer&lt;ArchivDaten const*&gt;::polymorphic::cast&lt;Daten const&gt;(Daten const*)]+0x29): undefined reference to `typeinfo for Daten'
collect2: ld returned 1 exit status
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2131505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131505</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Fri, 14 Oct 2011 16:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Fri, 14 Oct 2011 16:37:28 GMT]]></title><description><![CDATA[<p>Du bist definitiv im falschen Forum gelandet. Kann ein Mod bitte verschieben? Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Zum Thema: Hast du den typeinfo Header includiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131511</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Fri, 14 Oct 2011 16:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Fri, 14 Oct 2011 23:14:39 GMT]]></title><description><![CDATA[<p>Ich hab nur das inkludiert was da steht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Wozu brauche ich denn den Typeinfo header und wie sieht der aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131585</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Fri, 14 Oct 2011 23:14:39 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 08:05:40 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/u18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/f58" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/f15" rel="nofollow">C++ (auch C++0x)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131630</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sat, 15 Oct 2011 08:05:40 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 10:37:42 GMT]]></title><description><![CDATA[<p>Guck mal hier: <a href="http://www.boost.org/doc/libs/1_47_0/libs/serialization/doc/tutorial.html#simplecase" rel="nofollow">http://www.boost.org/doc/libs/1_47_0/libs/serialization/doc/tutorial.html#simplecase</a></p>
<p>Meiner Meinug nach musst Du folgendes tun:<br />
1. Stream erstellen / öffnen der die Daten bereitstellt<br />
2. Archiv erstellen und den Stream übergeben<br />
3. Leeres Daten Objekt (kein Pointer!) erstellen und danach archive &gt;&gt; daten; aufrufen</p>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131669</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 15 Oct 2011 10:37:42 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 17:11:12 GMT]]></title><description><![CDATA[<p>Es tut mir Leid, ich war mal wieder etwas zu voreilig, denn ich vergaß wichtige Dateien mitzuübersetzen! Hab das nun korrigiert und meine Code etwas zurückgefahren.</p>
<p>Ich möchte nun ERSTMAL nur die Daten.hpp serialisieren, also die Basisklasse, bevor ich dann mit einer abgeleiteten anfange. Leider klappt das auch noch net so ganz..</p>
<pre><code>Daten* D;
  Archivdatei &gt;&gt; boost::serialization::make_nvp(&quot;Daten&quot;, D);
</code></pre>
<p>An dieser Stelle sagt er mir dann:</p>
<pre><code>/home/fabske/ArchivBetrachter.o: In function `boost::serialization::extended_type_info_typeid&lt;Daten&gt;::extended_type_info_typeid()':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization25extended_type_info_typeidI5DatenEC2Ev[_ZN5boost13serialization25extended_type_info_typeidI5DatenEC5Ev]+0x3b): undefined reference to `typeinfo for Daten'
/home/fabske/ArchivBetrachter.o: In function `void boost::serialization::access::construct&lt;Daten&gt;(Daten*)':
ArchivBetrachter.cpp:(.text._ZN5boost13serialization6access9constructI5DatenEEvPT_[void boost::serialization::access::construct&lt;Daten&gt;(Daten*)]+0x2a): undefined reference to `Daten::Daten()'
collect2: ld returned 1 exit status
</code></pre>
<p>Die Daten.hpp hab ich aber natürlich inkludiert!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131831</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Sat, 15 Oct 2011 17:11:12 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 17:15:47 GMT]]></title><description><![CDATA[<p>Meine Vermutungen:</p>
<ul>
<li>Du hast vergessen in <em>ArchivBetrachter</em>.cpp die <em>Daten</em>.hpp zu inkludieren.</li>
<li>Du hast keinen Standardkonstruktor für die Klasse <em>Daten</em></li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/2131835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131835</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 15 Oct 2011 17:15:47 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 19:12:44 GMT]]></title><description><![CDATA[<p>Deine Vermutungen lassen sich durch die nopastes in meinem ersten Post widerlegen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131860</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Sat, 15 Oct 2011 19:12:44 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 19:51:31 GMT]]></title><description><![CDATA[<p>fabske schrieb:</p>
<blockquote>
<p>Deine Vermutungen lassen sich durch die nopastes in meinem ersten Post widerlegen!</p>
</blockquote>
<p>Du zeigst uns nur die Klassendefinition. Wo ist die Implementierung?</p>
<p>Hast du vielleicht vergessen die Klasse zu registrieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131869</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 15 Oct 2011 19:51:31 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 20:11:18 GMT]]></title><description><![CDATA[<p>Also hier ist mal die Klassendefinition: <a href="http://nopaste.info/5d9f2a089a.html" rel="nofollow">http://nopaste.info/5d9f2a089a.html</a></p>
<p>Was meinst du mit &quot;registrieren&quot;? Ich gebe die Datei einfach beim Übersetzen mit an!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131880</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Sat, 15 Oct 2011 20:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sat, 15 Oct 2011 20:31:03 GMT]]></title><description><![CDATA[<p>fabske schrieb:</p>
<blockquote>
<p>Was meinst du mit &quot;registrieren&quot;? Ich gebe die Datei einfach beim Übersetzen mit an!</p>
</blockquote>
<p>Ich habe lange nicht mehr mit boost::serialization gearbeitet. Aber von dem was ich noch weiss, muss man dem boost::archive::* mitteilen, dass er die Klasse registrieren soll damit er die Klasse überhaupt kennt.</p>
<p>Edit: <a href="http://www.boost.org/doc/libs/1_47_0/libs/serialization/doc/archives.html" rel="nofollow">register_type</a> ist das Stichwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131894</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131894</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Sat, 15 Oct 2011 20:31:03 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Sun, 16 Oct 2011 08:17:06 GMT]]></title><description><![CDATA[<p>Guck dir einfach das Tutorial auf der Boost Seite an, das sagt alles was nötig ist!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2131968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2131968</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sun, 16 Oct 2011 08:17:06 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Tue, 18 Oct 2011 11:54:32 GMT]]></title><description><![CDATA[<p>In der Tat hatte ich ein paar Standardkonstruktoren vergessen und hatte auch noch ein <a href="http://www.c-plusplus.net/forum/294078" rel="nofollow">Problem mit scons</a>!</p>
<p>Das alles konnte ich selbstständig lösen und kann bereits Daten serialisieren und deserialisieren! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Vielen Dank für die Hilfe!</p>
<p>Jetzt geht es an die Module. Auch diese kann ich schon serialisieren, aber beim deserialisieren gibt es Probleme. Wieder ganz einfach:</p>
<pre><code>//Wir öffnen die übergeben Archivdatei
  boost::filesystem::ifstream datei(dateiname.str()); 
  boost::archive::xml_iarchive Archivdatei(datei); 
  Archivdatei.register_type&lt;Modul&gt;();
  Archivdatei.register_type&lt;BeispielModul1&gt;();
  Archivdatei.register_type&lt;BeispielModul2&gt;();
  Archivdatei.register_type&lt;BeispielModul3&gt;();

  ArchivDaten* AD;
  Archivdatei &gt;&gt; boost::serialization::make_nvp(&quot;ArchivDaten&quot;, AD);
</code></pre>
<p>Die BeispielModule erben von Modul und in der ArchivDaten sind einfach Pointer drin: <a href="http://nopaste.info/01dd37ef12.html" rel="nofollow">http://nopaste.info/01dd37ef12.html</a><br />
Eigentlich alles ganz einfach und serialisiert wird auch wunderbar, die XML Datei sieht toll aus!<br />
Aber beim übersetzen der Deserialisierung krieg ich eine riesige Fehlermeldung: <a href="http://nopaste.info/fcdd63dff4.html" rel="nofollow">http://nopaste.info/fcdd63dff4.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132809</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Tue, 18 Oct 2011 11:54:32 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Tue, 18 Oct 2011 12:01:56 GMT]]></title><description><![CDATA[<p>Hast Du const-Member in den Klassen, welche Du da deserialisieren willst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132811</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 18 Oct 2011 12:01:56 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Tue, 18 Oct 2011 12:35:57 GMT]]></title><description><![CDATA[<p>Ja hab ich! Ist das ein Problem?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2132826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2132826</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Tue, 18 Oct 2011 12:35:57 GMT</pubDate></item><item><title><![CDATA[Reply to boost.serialization on Thu, 20 Oct 2011 11:38:47 GMT]]></title><description><![CDATA[<p>Es lag tatsächlich an den const Variablen UND an einer pure virtual Funktion! Beides lässt sich nicht de/serialisieren.</p>
<p>Ich hab diese Teile dann mit Preprozessoranweisungen für die Deserialisierung ausgenommen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2133440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2133440</guid><dc:creator><![CDATA[fabske]]></dc:creator><pubDate>Thu, 20 Oct 2011 11:38:47 GMT</pubDate></item></channel></rss>