<?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[Linker-&amp;gt;unaufgelöstes Symbol]]></title><description><![CDATA[<p>Hallo zusammen,<br />
Visual Studio 2010 gibt mir beim Compilen meiner Anwendung aus, dass dass Objekt Matrix::InvertMatrix nicht aufgelöst sei (linkergfehler), und zwar für jede Datei, in der es vorkommt.<br />
Die H-Datei in der Die Methode deklariert ist, wird in allen Dateien wo sie verwendet wir eingebungden und die Methode wird auch aufgelöst, also ich habe sie nichjt nur definiert (in der H-Datei) sondern auch Implementiert.<br />
Ich hoffe mir kann jemand halfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/293560/linker-gt-unaufgelöstes-symbol</link><generator>RSS for Node</generator><lastBuildDate>Sun, 16 Aug 2026 06:31:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/293560.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Oct 2011 18:40:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linker-&amp;gt;unaufgelöstes Symbol on Wed, 05 Oct 2011 18:40:08 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
Visual Studio 2010 gibt mir beim Compilen meiner Anwendung aus, dass dass Objekt Matrix::InvertMatrix nicht aufgelöst sei (linkergfehler), und zwar für jede Datei, in der es vorkommt.<br />
Die H-Datei in der Die Methode deklariert ist, wird in allen Dateien wo sie verwendet wir eingebungden und die Methode wird auch aufgelöst, also ich habe sie nichjt nur definiert (in der H-Datei) sondern auch Implementiert.<br />
Ich hoffe mir kann jemand halfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127726</guid><dc:creator><![CDATA[NikSg]]></dc:creator><pubDate>Wed, 05 Oct 2011 18:40:08 GMT</pubDate></item><item><title><![CDATA[Reply to Linker-&amp;gt;unaufgelöstes Symbol on Wed, 05 Oct 2011 18:43:14 GMT]]></title><description><![CDATA[<p>Das klingt auf jeden Fall schon einmal höchst verdächtig, wenn du Sachen in .h-Dateien definierst. Und sonst kann man ohne konkreten Code nur sagen: Der Linker hat mit Sicherheit Recht und du nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127727</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 05 Oct 2011 18:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to Linker-&amp;gt;unaufgelöstes Symbol on Wed, 05 Oct 2011 19:05:43 GMT]]></title><description><![CDATA[<p>Ok, hier mal der Code:</p>
<pre><code class="language-cpp">// Matrix.h
namespace ge
{
	class Vector3;
	GE_API Matrix MatrixInvert(const Matrix&amp; m);

	class GE_API Matrix
	{
          ...
        }
        GE_API Matrix MatrixInvert(const Matrix&amp; m);
</code></pre>
<pre><code class="language-cpp">// Matrix.cpp
using namespace ge;

GE_API Matrix MatrixInvert(const Matrix&amp; m)
{
	float fInvDet = MatrixDet(m);
	if(fInvDet == 0.0f) 
		return MatrixIdentity();
	fInvDet = 1.0f / fInvDet;

	Matrix mResult;

	mResult.m11 =  fInvDet * (m.m22 * m.m33 - m.m23 * m.m32);
	mResult.m12 = -fInvDet * (m.m12 * m.m33 - m.m13 * m.m32);
	mResult.m13 =  fInvDet * (m.m12 * m.m23 - m.m13 * m.m22);
	mResult.m14 =  0.0f;
	mResult.m21 = -fInvDet * (m.m21 * m.m33 - m.m23 * m.m31);
	mResult.m22 =  fInvDet * (m.m11 * m.m33 - m.m13 * m.m31);
	mResult.m23 = -fInvDet * (m.m11 * m.m23 - m.m13 * m.m21);
	mResult.m24 =  0.0f;
	mResult.m31 =  fInvDet * (m.m21 * m.m32 - m.m22 * m.m31);
	mResult.m32 = -fInvDet * (m.m11 * m.m32 - m.m12 * m.m31);
	mResult.m33 =  fInvDet * (m.m11 * m.m22 - m.m12 * m.m21);
	mResult.m34 =  0.0f;
	mResult.m41 = -(m.m41 * mResult.m11 + m.m42 * mResult.m21 + m.m43 * mResult.m31);
	mResult.m42 = -(m.m41 * mResult.m12 + m.m42 * mResult.m22 + m.m43 * mResult.m32);
	mResult.m43 = -(m.m41 * mResult.m13 + m.m42 * mResult.m23 + m.m43 * mResult.m33);
	mResult.m44 =  1.0f;

	return mResult;
}
</code></pre>
<p>Hier nochmal die Fehlermeldung:</p>
<blockquote>
<p>Vector3.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.<br />
1&gt;Matrix.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.<br />
1&gt;Memory.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.<br />
1&gt;Utils.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.<br />
1&gt;Vector2.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.<br />
1&gt;Direct3D.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot; in Funktion &quot;&quot;public: class ge::Matrix &amp; __thiscall ge::Matrix::operator/=(class ge::Matrix const &amp;)&quot; (??_0Matrix@ge@@QAEAAV01@ABV01@@Z)&quot;.<br />
1&gt;DMXConfig.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.<br />
1&gt;GraphicEngine.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.<br />
1&gt;Log.obj : error LNK2001: Nicht aufgelöstes externes Symbol &quot;&quot;class ge::Matrix __cdecl ge::MatrixInvert(class ge::Matrix const &amp;)&quot; (?MatrixInvert@ge@@YA?AVMatrix@1@ABV21@@Z)&quot;.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2127743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127743</guid><dc:creator><![CDATA[NikSg]]></dc:creator><pubDate>Wed, 05 Oct 2011 19:05:43 GMT</pubDate></item><item><title><![CDATA[Reply to Linker-&amp;gt;unaufgelöstes Symbol on Wed, 05 Oct 2011 19:10:42 GMT]]></title><description><![CDATA[<p>Da hast du nix im Header definiert (und das ist auch so in Ordnung), aber stattdessen wirst du wohl das Ergebnis deiner Matrix.cpp nicht mitgelinkt haben.</p>
<p>edit: Und GE_API wird doch wohl einfach nichts sein, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127748</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 05 Oct 2011 19:10:42 GMT</pubDate></item><item><title><![CDATA[Reply to Linker-&amp;gt;unaufgelöstes Symbol on Wed, 05 Oct 2011 19:09:57 GMT]]></title><description><![CDATA[<p>afair mußt du für die Definition einer Funktion deren Namensraum explizit angeben - so hast du zwar eine Funktion ::MatrixInvert() definiert, aber nicht das anderswo benötigte ge::MatrixInvert().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127749</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 05 Oct 2011 19:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to Linker-&amp;gt;unaufgelöstes Symbol on Wed, 05 Oct 2011 19:11:19 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>afair mußt du für die Definition einer Funktion deren Namensraum explizit angeben - so hast du zwar eine Funktion ::MatrixInvert() definiert, aber nicht das anderswo benötigte ge::MatrixInvert().</p>
</blockquote>
<p>Ja, gar nicht gesehen, dass die Definition außerhalb des Namespace ist. Das wird es sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127750</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 05 Oct 2011 19:11:19 GMT</pubDate></item><item><title><![CDATA[Reply to Linker-&amp;gt;unaufgelöstes Symbol on Wed, 05 Oct 2011 19:14:01 GMT]]></title><description><![CDATA[<p>Jetzt klappts. Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2127754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2127754</guid><dc:creator><![CDATA[NikSg]]></dc:creator><pubDate>Wed, 05 Oct 2011 19:14:01 GMT</pubDate></item></channel></rss>