<?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[Eine Bibliothek erstellen, &#x27;undefined reference&#x27;]]></title><description><![CDATA[<p>Hallo Leute <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>Ich versuche gerade einzelne Befehle in eine Library (Name.a) auszulagern.</p>
<p>Ich erstelle also ein neues Projekt (Dev-C++) und füge eine Header und eine Cpp-Datei zu.</p>
<p>In der Header Datei include ich auch die gebrauchten OpenGl-Header:</p>
<pre><code>#ifndef TWODENGINE_H
#define TWODENGINE_H

// OpenGL Headers
#include &lt;gl\gl.h&gt;
#include &lt;gl\glaux.h&gt;

#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt;

GLuint LoadTexture(const char *filename);

#endif
</code></pre>
<p><strong>Ob ich Kommandozeilen-Parameter angebe oder nicht, die datei 2DEngine.a wird immer ohne Fehler erstellt.</strong> Ist doch eigentlich komisch, da der Befehl LoadTexture auch OpenGL und Glaux Befehle braucht, oder? Aber egal ob ich die Libraries einbinde oder nicht, es klappt ohne Fehler.</p>
<p>So jetzt mein eigentliches Spiel, Spiel.cpp:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt;

// OpenGL Headers
#include &lt;gl\gl.h&gt;
#include &lt;gl\glaux.h&gt;

#include &lt;2DEngine.h&gt;

...
LoadTexture (&quot;test.bmp&quot;);
...
</code></pre>
<p>Und bei dieser Datei habe ich natürlich alle OpenGL-Libraries gelinkt. Wenn ich jetzt aber das ganze kompilieren will, bekomme ich folgende Fehler:</p>
<p>g++.exe schrieb:</p>
<blockquote>
<p>g++.exe test.o -o &quot;Spiel OpenGL.exe&quot; -L&quot;C:/DevCpp/lib&quot; -mwindows -lopengl32 -lglu32 -lglaux -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 ../2DEngine/2DEngine.a</p>
<p>../2DEngine/2DEngine.a(2DEngine.o)(.text+0x31):2DEngine.cpp: undefined reference to <code>auxDIBImageLoadA@4' ../2DEngine/2DEngine.a(2DEngine.o)(.text+0x45):2DEngine.cpp: undefined reference to</code>glGenTextures@8'<br />
../2DEngine/2DEngine.a(2DEngine.o)(.text+0x74):2DEngine.cpp: undefined reference to <code>glTexImage2D@36' ../2DEngine/2DEngine.a(2DEngine.o)(.text+0x88):2DEngine.cpp: undefined reference to</code>glTexParameteri@12'<br />
../2DEngine/2DEngine.a(2DEngine.o)(.text+0x9c):2DEngine.cpp: undefined reference to `glTexParameteri@12'<br />
collect2: ld returned 1 exit status</p>
<p>make.exe: *** [&quot;Spiel] Error 1</p>
<p>Ausführung beendet</p>
</blockquote>
<p>Warum bekomm ich es nie hin Libraries zu erstellen?? Es ist egal ob ich die 2DEngine mit den ganzen OpenGL Libraries zusammenlinke oder nicht, immer diese Fehler.</p>
<p>Was mach ich falsch??<br />
-fnord23</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130628/eine-bibliothek-erstellen-undefined-reference</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 16:15:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130628.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Dec 2005 16:01:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eine Bibliothek erstellen, &#x27;undefined reference&#x27; on Sun, 25 Dec 2005 16:01:24 GMT]]></title><description><![CDATA[<p>Hallo Leute <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>Ich versuche gerade einzelne Befehle in eine Library (Name.a) auszulagern.</p>
<p>Ich erstelle also ein neues Projekt (Dev-C++) und füge eine Header und eine Cpp-Datei zu.</p>
<p>In der Header Datei include ich auch die gebrauchten OpenGl-Header:</p>
<pre><code>#ifndef TWODENGINE_H
#define TWODENGINE_H

// OpenGL Headers
#include &lt;gl\gl.h&gt;
#include &lt;gl\glaux.h&gt;

#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt;

GLuint LoadTexture(const char *filename);

#endif
</code></pre>
<p><strong>Ob ich Kommandozeilen-Parameter angebe oder nicht, die datei 2DEngine.a wird immer ohne Fehler erstellt.</strong> Ist doch eigentlich komisch, da der Befehl LoadTexture auch OpenGL und Glaux Befehle braucht, oder? Aber egal ob ich die Libraries einbinde oder nicht, es klappt ohne Fehler.</p>
<p>So jetzt mein eigentliches Spiel, Spiel.cpp:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt;

// OpenGL Headers
#include &lt;gl\gl.h&gt;
#include &lt;gl\glaux.h&gt;

#include &lt;2DEngine.h&gt;

...
LoadTexture (&quot;test.bmp&quot;);
...
</code></pre>
<p>Und bei dieser Datei habe ich natürlich alle OpenGL-Libraries gelinkt. Wenn ich jetzt aber das ganze kompilieren will, bekomme ich folgende Fehler:</p>
<p>g++.exe schrieb:</p>
<blockquote>
<p>g++.exe test.o -o &quot;Spiel OpenGL.exe&quot; -L&quot;C:/DevCpp/lib&quot; -mwindows -lopengl32 -lglu32 -lglaux -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 ../2DEngine/2DEngine.a</p>
<p>../2DEngine/2DEngine.a(2DEngine.o)(.text+0x31):2DEngine.cpp: undefined reference to <code>auxDIBImageLoadA@4' ../2DEngine/2DEngine.a(2DEngine.o)(.text+0x45):2DEngine.cpp: undefined reference to</code>glGenTextures@8'<br />
../2DEngine/2DEngine.a(2DEngine.o)(.text+0x74):2DEngine.cpp: undefined reference to <code>glTexImage2D@36' ../2DEngine/2DEngine.a(2DEngine.o)(.text+0x88):2DEngine.cpp: undefined reference to</code>glTexParameteri@12'<br />
../2DEngine/2DEngine.a(2DEngine.o)(.text+0x9c):2DEngine.cpp: undefined reference to `glTexParameteri@12'<br />
collect2: ld returned 1 exit status</p>
<p>make.exe: *** [&quot;Spiel] Error 1</p>
<p>Ausführung beendet</p>
</blockquote>
<p>Warum bekomm ich es nie hin Libraries zu erstellen?? Es ist egal ob ich die 2DEngine mit den ganzen OpenGL Libraries zusammenlinke oder nicht, immer diese Fehler.</p>
<p>Was mach ich falsch??<br />
-fnord23</p>
]]></description><link>https://www.c-plusplus.net/forum/post/949623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/949623</guid><dc:creator><![CDATA[fnord23]]></dc:creator><pubDate>Sun, 25 Dec 2005 16:01:24 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Bibliothek erstellen, &#x27;undefined reference&#x27; on Sun, 25 Dec 2005 16:36:33 GMT]]></title><description><![CDATA[<p>Achso, bei den Projekt-Optionen habe ich den Typ 'Win32 statische Bibliothek' ausgewählt.<br />
- fnord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/949644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/949644</guid><dc:creator><![CDATA[fnord23]]></dc:creator><pubDate>Sun, 25 Dec 2005 16:36:33 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Bibliothek erstellen, &#x27;undefined reference&#x27; on Sun, 25 Dec 2005 18:09:18 GMT]]></title><description><![CDATA[<p>bittebitte</p>
<p>kann mir keiner Helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/949711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/949711</guid><dc:creator><![CDATA[fnord23]]></dc:creator><pubDate>Sun, 25 Dec 2005 18:09:18 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Bibliothek erstellen, &#x27;undefined reference&#x27; on Sun, 25 Dec 2005 18:26:03 GMT]]></title><description><![CDATA[<p>Heißt der Parameter nicht -I und nicht -L ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/949719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/949719</guid><dc:creator><![CDATA[CSpille (off)]]></dc:creator><pubDate>Sun, 25 Dec 2005 18:26:03 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Bibliothek erstellen, &#x27;undefined reference&#x27; on Sun, 25 Dec 2005 18:38:19 GMT]]></title><description><![CDATA[<p>Bei statischen Libraries kommt es (leider) auf die Reihenfolge an. Libs können nur auf die Symbole von später angegebenen Libs zugreifen, nicht auf die davor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/949738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/949738</guid><dc:creator><![CDATA[Ringding]]></dc:creator><pubDate>Sun, 25 Dec 2005 18:38:19 GMT</pubDate></item><item><title><![CDATA[Reply to Eine Bibliothek erstellen, &#x27;undefined reference&#x27; on Sun, 25 Dec 2005 19:29:45 GMT]]></title><description><![CDATA[<p>dankeschön, es scheint zu funktionieren <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/949768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/949768</guid><dc:creator><![CDATA[fnord23]]></dc:creator><pubDate>Sun, 25 Dec 2005 19:29:45 GMT</pubDate></item></channel></rss>