<?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 Serialisierung ohne RTTI mit VC++ 2005]]></title><description><![CDATA[<p>Hi!</p>
<p>Während ich Boost::Serialization versucht habe ans Laufen zu bekommen, habe ich im Manual gelesen, dass die Library auch ohne RTTI funktionieren würde.<br />
Nun würde ich RTTI wenns irgendwie geht gerne vermeiden. Leider kompiliert die Sache nicht mehr, wenn ich unter MS VC++ 2005 SP 1 das RTTI abschalte.<br />
Beim Kompilieren erhalte ich folgende Warnung:</p>
<blockquote>
<p>libs\boost_1_34_1\boost/smart_cast.hpp(76) : warning C4541: 'dynamic_cast' für polymorphen Typ 'boost::archive::detail::basic_iarchive' mit /GR- verwendet; unvorhersehbares Verhalten möglich<br />
libs\boost_1_34_1\boost/smart_cast.hpp(87): Siehe Verweis auf die Instanziierung der gerade kompilierten Funktions-template &quot;T boost::smart_cast_impl::reference&lt;T&gt;::polymorphic:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/271d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--latin_cross"
      title=":cross:"
      alt="✝"
    />:cast&lt;U&gt;(U &amp;)&quot;.<br />
with<br />
[<br />
T=boost::archive::xml_iarchive &amp;,<br />
U=boost::archive::detail::basic_iarchive<br />
]</p>
</blockquote>
<p>Beim Ausführen erhalte ich folgende Runtime Exception:</p>
<blockquote>
<p>Unbehandelte Ausnahme bei 0x7c81eb33 in test.exe: Microsoft C++-Ausnahme: std::__non_rtti_object an Speicherposition 0x0012faf4..</p>
</blockquote>
<p>Und zwar an dieser Stelle:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
	const char* filename = &quot;D:\\temp.xml&quot;;
	{
		Test s(27);

		// make an archive
		std::ofstream ofs(filename);
		assert(ofs.good());
		boost::archive::xml_oarchive oa(ofs);
		oa &lt;&lt; BOOST_SERIALIZATION_NVP(s);        // &lt;-- HIER
	}
        return 0;
}
</code></pre>
<p>Wie bekomme ich Boost::Serialization ohne RTTI zum Funktionieren?</p>
<p>Mfg NeuroCoder</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201076/boost-serialisierung-ohne-rtti-mit-vc-2005</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 17:49:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201076.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Dec 2007 22:02:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Boost Serialisierung ohne RTTI mit VC++ 2005 on Tue, 25 Dec 2007 11:44:25 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Während ich Boost::Serialization versucht habe ans Laufen zu bekommen, habe ich im Manual gelesen, dass die Library auch ohne RTTI funktionieren würde.<br />
Nun würde ich RTTI wenns irgendwie geht gerne vermeiden. Leider kompiliert die Sache nicht mehr, wenn ich unter MS VC++ 2005 SP 1 das RTTI abschalte.<br />
Beim Kompilieren erhalte ich folgende Warnung:</p>
<blockquote>
<p>libs\boost_1_34_1\boost/smart_cast.hpp(76) : warning C4541: 'dynamic_cast' für polymorphen Typ 'boost::archive::detail::basic_iarchive' mit /GR- verwendet; unvorhersehbares Verhalten möglich<br />
libs\boost_1_34_1\boost/smart_cast.hpp(87): Siehe Verweis auf die Instanziierung der gerade kompilierten Funktions-template &quot;T boost::smart_cast_impl::reference&lt;T&gt;::polymorphic:<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/271d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--latin_cross"
      title=":cross:"
      alt="✝"
    />:cast&lt;U&gt;(U &amp;)&quot;.<br />
with<br />
[<br />
T=boost::archive::xml_iarchive &amp;,<br />
U=boost::archive::detail::basic_iarchive<br />
]</p>
</blockquote>
<p>Beim Ausführen erhalte ich folgende Runtime Exception:</p>
<blockquote>
<p>Unbehandelte Ausnahme bei 0x7c81eb33 in test.exe: Microsoft C++-Ausnahme: std::__non_rtti_object an Speicherposition 0x0012faf4..</p>
</blockquote>
<p>Und zwar an dieser Stelle:</p>
<pre><code class="language-cpp">int main(int argc, char* argv[])
{
	const char* filename = &quot;D:\\temp.xml&quot;;
	{
		Test s(27);

		// make an archive
		std::ofstream ofs(filename);
		assert(ofs.good());
		boost::archive::xml_oarchive oa(ofs);
		oa &lt;&lt; BOOST_SERIALIZATION_NVP(s);        // &lt;-- HIER
	}
        return 0;
}
</code></pre>
<p>Wie bekomme ich Boost::Serialization ohne RTTI zum Funktionieren?</p>
<p>Mfg NeuroCoder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425406</guid><dc:creator><![CDATA[NeuroCoder]]></dc:creator><pubDate>Tue, 25 Dec 2007 11:44:25 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Serialisierung ohne RTTI mit VC++ 2005 on Tue, 25 Dec 2007 11:45:16 GMT]]></title><description><![CDATA[<p>*push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1425857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1425857</guid><dc:creator><![CDATA[NeuroCoder]]></dc:creator><pubDate>Tue, 25 Dec 2007 11:45:16 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Serialisierung ohne RTTI mit VC++ 2005 on Wed, 26 Dec 2007 18:11:38 GMT]]></title><description><![CDATA[<p>NeuroCoder schrieb:</p>
<blockquote>
<p>Wie bekomme ich Boost::Serialization ohne RTTI zum Funktionieren?</p>
</blockquote>
<p>Wenn Du keinen alten Compiler/Laufzeitumgebung benutzt, gibt es dafür keinerlei Grund.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426392</guid><dc:creator><![CDATA[*john 0]]></dc:creator><pubDate>Wed, 26 Dec 2007 18:11:38 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Serialisierung ohne RTTI mit VC++ 2005 on Thu, 27 Dec 2007 08:57:49 GMT]]></title><description><![CDATA[<p>RTTI gehört nunmal zum ISO-C++-Standard. Ich bezweifel mal, das es klug ist, RTTI nicht verwenden zu wollen. Dann darf man sich zumindest nicht wundern, das nicht alles funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1426680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1426680</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Thu, 27 Dec 2007 08:57:49 GMT</pubDate></item></channel></rss>