<?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[Undefined Reference]]></title><description><![CDATA[<p>Servus,<br />
ich habe das Problem das mein Compiler ständig Undefined Reference meldet, woran liegt das?</p>
<p>Hier mein Code(verkürzt):</p>
<pre><code class="language-cpp">//DirectDraw7.h
#include &lt;windows.h&gt;
#include &lt;stdexcept&gt;
#include &lt;string.h&gt;
#include &quot;Dictionary.h&quot;
#include &quot;d:\Microsoft DirectX SDK\Include\ddraw.h&quot;

class DirectDraw7
{
    private:
        LPDIRECTDRAW7 m_lpDDraw7;
        LPDIRECTDRAWCLIPPER m_lpClipper;
        Dictionary&lt;int,LPDIRECTDRAWSURFACE7&gt; m_surfDict;
    public:
        ...
        void LoadBitmap(const unsigned int&amp;,const LPCSTR);
};

//DirectDraw7.cpp
void DirectDraw7::LoadBitmap(const unsigned int&amp; id,const LPCSTR lpFilename)
{
    HBITMAP hbm=(HBITMAP)LoadImage(0,lpFilename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
    if(!hbm)
    {
        std::string lpcstr=&quot;Could not load the bitmap from file: &quot;;
        lpcstr+=lpFilename;
        throw((runtime_error)lpcstr);
    }
    BITMAP bm; //Hier kommt der Fehler
    GetObject(hbm,sizeof(bm),&amp;bm); E:\C++\DirectDraw7\DirectDraw7.cpp|67|undefined reference to `_GetObjectA@12'|
    ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/244909/undefined-reference</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 22:44:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244909.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Jul 2009 16:09:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 16:09:58 GMT]]></title><description><![CDATA[<p>Servus,<br />
ich habe das Problem das mein Compiler ständig Undefined Reference meldet, woran liegt das?</p>
<p>Hier mein Code(verkürzt):</p>
<pre><code class="language-cpp">//DirectDraw7.h
#include &lt;windows.h&gt;
#include &lt;stdexcept&gt;
#include &lt;string.h&gt;
#include &quot;Dictionary.h&quot;
#include &quot;d:\Microsoft DirectX SDK\Include\ddraw.h&quot;

class DirectDraw7
{
    private:
        LPDIRECTDRAW7 m_lpDDraw7;
        LPDIRECTDRAWCLIPPER m_lpClipper;
        Dictionary&lt;int,LPDIRECTDRAWSURFACE7&gt; m_surfDict;
    public:
        ...
        void LoadBitmap(const unsigned int&amp;,const LPCSTR);
};

//DirectDraw7.cpp
void DirectDraw7::LoadBitmap(const unsigned int&amp; id,const LPCSTR lpFilename)
{
    HBITMAP hbm=(HBITMAP)LoadImage(0,lpFilename,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
    if(!hbm)
    {
        std::string lpcstr=&quot;Could not load the bitmap from file: &quot;;
        lpcstr+=lpFilename;
        throw((runtime_error)lpcstr);
    }
    BITMAP bm; //Hier kommt der Fehler
    GetObject(hbm,sizeof(bm),&amp;bm); E:\C++\DirectDraw7\DirectDraw7.cpp|67|undefined reference to `_GetObjectA@12'|
    ...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1738697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738697</guid><dc:creator><![CDATA[GuardianOfLife]]></dc:creator><pubDate>Tue, 07 Jul 2009 16:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 16:24:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &quot;d:\Microsoft DirectX SDK\Include\ddraw.h&quot;
</code></pre>
<p>wahrscheinlich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738703</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 07 Jul 2009 16:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 16:35:55 GMT]]></title><description><![CDATA[<p>GuardianOfLife schrieb:</p>
<blockquote>
<p>ich habe das Problem das mein Compiler ständig Undefined Reference meldet,</p>
</blockquote>
<p>Das klingt nach einer Fehlermeldung, die der <em>Linker</em> ausspucken würde.</p>
<p>GuardianOfLife schrieb:</p>
<blockquote>
<pre><code class="language-cpp">//DirectDraw7.h
#include &lt;windows.h&gt;
#include &lt;stdexcept&gt;
#include &lt;string.h&gt;
#include &quot;Dictionary.h&quot;
#include &quot;d:\Microsoft DirectX SDK\Include\ddraw.h&quot;
</code></pre>
</blockquote>
<p>Ihhh.<br />
Wozu gibt es denn Include-Pfade?<br />
Backslashes würde ich auch vermeiden.</p>
<p>Hast Du denn auch daran gedacht, gegen die DirectX7 Bibliothek &quot;zu linken&quot;? Das Inkludieren einer Headerdatei alleine reicht da nicht.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738708</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Tue, 07 Jul 2009 16:35:55 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 16:41:06 GMT]]></title><description><![CDATA[<p>Also wenn du meinst ob ich die Bibliotheken hinzugefügt hab, dann ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738711</guid><dc:creator><![CDATA[GuardianOfLife]]></dc:creator><pubDate>Tue, 07 Jul 2009 16:41:06 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 17:25:09 GMT]]></title><description><![CDATA[<p>Aha. Ich habe die Fehlermeldung gerade entdeckt. Sie war in Deinem Quellcode mit versteckt:</p>
<blockquote>
<p><code>E:\C++\DirectDraw7\DirectDraw7.cpp|67|undefined reference to</code>_GetObjectA@12'`</p>
</blockquote>
<p>Das ist definitiv eine Fehlermeldung des Linkers. Sprich, Du sagst dem Compiler an irgend einer Stelle (vielleicht in einer Header-Datei), dass es eine Funktion namens <code>GetObject</code> gibt. Du rufst Die Funktion auch munter auf. Das Problem ist, dass der Linker diese Funktion nirgends findet. Wo sie definiert ist, müsstest Du selbst wissen (das kann eine Bibliothek sein oder eine Übersetzungseinheit aus Deinem Programm). Was ein Linker ist, und was der Unterschied zwischen Compiler und Linker ist, solltest Du mal nachlesen.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738732</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Tue, 07 Jul 2009 17:25:09 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 18:37:19 GMT]]></title><description><![CDATA[<p>Ich glaube ich habe alles eingefügt was nötig ist. GetObject ist soweit ich weiß in &lt;windows.h&gt; definiert. Btw die link libraries sind auch eingefügt dxguid und ddraw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738778</guid><dc:creator><![CDATA[GuardianOfLife]]></dc:creator><pubDate>Tue, 07 Jul 2009 18:37:19 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 18:45:15 GMT]]></title><description><![CDATA[<p>wingdi.h ?</p>
<p>gdi32.lib ???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738783</guid><dc:creator><![CDATA[Blindfisch]]></dc:creator><pubDate>Tue, 07 Jul 2009 18:45:15 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 19:04:10 GMT]]></title><description><![CDATA[<p>Hab ich noch nie in meinen Projekten gebraucht, und da hab ich auch GetObject und andere benutzt.<br />
Hilft es wenn ich sage das ich ein Objekt hab das Templates benutzt? Weil ich vorhin damit Probleme hatte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738789</guid><dc:creator><![CDATA[GuardianOfLife]]></dc:creator><pubDate>Tue, 07 Jul 2009 19:04:10 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 19:16:29 GMT]]></title><description><![CDATA[<p>Ok?! Kann mir das jemand erklären meine Projekte funktionierten alle normal auch als ich die Bibliothek gdi32 nicht inkludiert hatte. Jetzt hab ich die Funktionen GetObject und andere außerhalb von main.cpp benutzt und ich erhielt ein Fehler.<br />
Warum musste ich auf einmal die Bibliothek gdi32 inkludieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738802</guid><dc:creator><![CDATA[GuardianOfLife]]></dc:creator><pubDate>Tue, 07 Jul 2009 19:16:29 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Tue, 07 Jul 2009 20:18:49 GMT]]></title><description><![CDATA[<p>Ich weiß nicht, wie es den anderen geht, aber ich finde Deine Problembeschreibung sehr schlecht. Du musst Dir damit schon mehr Mühe geben und ein paar Details rausrücken. <em>Ich</em> kenne <code>GetObject</code> nicht, weiß nicht, was das für eine Funktion sein soll, wo sie definiert ist, wo sie benutzt wird, etc etc etc. <em>Du</em> hingegen müsstest das wissen.</p>
<p>Mit dem jetzigen Informationsstand kann ich nicht anderes, als mich zu wiederholen: Dein Linker findet die Funktion nicht. Tue was dagegen. Die notwendige Maßnahme hängt davon ab, was/wo/wie <code>GetObject</code> ist.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738846</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738846</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Tue, 07 Jul 2009 20:18:49 GMT</pubDate></item><item><title><![CDATA[Reply to Undefined Reference on Wed, 08 Jul 2009 00:20:58 GMT]]></title><description><![CDATA[<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Backslashes würde ich auch vermeiden.</p>
</blockquote>
<p>Dein Rat wurde wahrscheinlich nicht befolgt. Deshalb nochmals:</p>
<p>Backslashes in Stringliteralen müssen durch eine eigene Escapesequenz <code>'\</code>  <code>\'</code> gekennzeichnet werden. In Pfaden verwendet man allerdings besser den Slash <code>'/'</code> .</p>
<p>Sebastian Pizer schrieb:</p>
<blockquote>
<p>Ich weiß nicht, wie es den anderen geht, aber ich finde Deine Problembeschreibung sehr schlecht. Du musst Dir damit schon mehr Mühe geben und ein paar Details rausrücken.</p>
</blockquote>
<p>GuardianOfLife ist gerne etwas ungenau, <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-244882.html" rel="nofollow">hier</a> habe ich ihn mit der ersten Antwort auf sein Problem hingewiesen, das er aber scheinbar nicht wahrhaben wollte.</p>
<p><strong>GuardianOfLife, du solltest die Antworten wirklich genauer lesen und versuchen, dich in die Helfer hineinzuversetzen. Mit keinen oder sogar falschen Informationen versorgt zu werden, ist nicht besonders hilfreich.</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1738917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1738917</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 08 Jul 2009 00:20:58 GMT</pubDate></item></channel></rss>