<?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[Headerdatei wie korrekt einbinden?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich seit kurzem wieder mit der MFC und habe vor ein Chatprogramm für LAN bzw. auch das Internet zu schreiben, das Netzwerkprogramm soll erst einmal nur einfache Funktionen beherrschen da ich dadurch auch erst die Netzwerkprogrammierung erlernen möchte.</p>
<p>Mein Problem ist nun, das ich die Header Dateien nicht korrekt eingebunden bekomme:</p>
<p>In der Headerdatei DataClasses.h befinden sich 3 Klassen:</p>
<ol>
<li>UserData(speichert Daten wie Name, IP, etc. eines Benutzers auf dem Server)</li>
<li>ServerOptions(speichert die Servereinstellungen wie z.B. das Passwort)</li>
<li>UserNetSocket(abgeleitet von CAsyncSocket)</li>
</ol>
<p>Weiterhin hab ich dann mein Dialogfeld und meine Anwendung, d.h. ChatServer.cpp, ChatServer.h, ChatServerDlg.cpp und ChatServerDlg.h.</p>
<p>Da ich in der Datei ChatServerDlg.h Instanzen der oben genannten Klassen erstelle, includiere ich dort die Datei DataClasses.h. Das Problem ist nun, das sowohl ChatServerDlg.cpp als auch ChatServer.cpp die Datei ChatServerDlg.h includieren, und sie auch wirklich brauchen.<br />
Wenn ich das ganze jetzt kompiliere, meckert er halt rum dass einige Funktionen/Klassen schonmal definiert worden sind! Der Fehler ist dabei genau der :</p>
<pre><code>ChatServerDlg.obj : error LNK2005: &quot;public: __thiscall ServerOptions::ServerOptions(void)&quot; (??0ServerOptions@@QAE@XZ) bereits in ChatServer.obj definiert
Debug/ChatServer.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
</code></pre>
<p>Meine Frage ist jetzt einfach : Wie muss ich die Headerdatei aufbauen/verwalten/includieren lassen, damit alles funktioniert?</p>
<p>THX<br />
Philipp</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/46550/headerdatei-wie-korrekt-einbinden</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 05:21:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/46550.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Aug 2003 16:46:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Headerdatei wie korrekt einbinden? on Wed, 20 Aug 2003 16:47:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich beschäftige mich seit kurzem wieder mit der MFC und habe vor ein Chatprogramm für LAN bzw. auch das Internet zu schreiben, das Netzwerkprogramm soll erst einmal nur einfache Funktionen beherrschen da ich dadurch auch erst die Netzwerkprogrammierung erlernen möchte.</p>
<p>Mein Problem ist nun, das ich die Header Dateien nicht korrekt eingebunden bekomme:</p>
<p>In der Headerdatei DataClasses.h befinden sich 3 Klassen:</p>
<ol>
<li>UserData(speichert Daten wie Name, IP, etc. eines Benutzers auf dem Server)</li>
<li>ServerOptions(speichert die Servereinstellungen wie z.B. das Passwort)</li>
<li>UserNetSocket(abgeleitet von CAsyncSocket)</li>
</ol>
<p>Weiterhin hab ich dann mein Dialogfeld und meine Anwendung, d.h. ChatServer.cpp, ChatServer.h, ChatServerDlg.cpp und ChatServerDlg.h.</p>
<p>Da ich in der Datei ChatServerDlg.h Instanzen der oben genannten Klassen erstelle, includiere ich dort die Datei DataClasses.h. Das Problem ist nun, das sowohl ChatServerDlg.cpp als auch ChatServer.cpp die Datei ChatServerDlg.h includieren, und sie auch wirklich brauchen.<br />
Wenn ich das ganze jetzt kompiliere, meckert er halt rum dass einige Funktionen/Klassen schonmal definiert worden sind! Der Fehler ist dabei genau der :</p>
<pre><code>ChatServerDlg.obj : error LNK2005: &quot;public: __thiscall ServerOptions::ServerOptions(void)&quot; (??0ServerOptions@@QAE@XZ) bereits in ChatServer.obj definiert
Debug/ChatServer.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
</code></pre>
<p>Meine Frage ist jetzt einfach : Wie muss ich die Headerdatei aufbauen/verwalten/includieren lassen, damit alles funktioniert?</p>
<p>THX<br />
Philipp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337036</guid><dc:creator><![CDATA[Programator]]></dc:creator><pubDate>Wed, 20 Aug 2003 16:47:51 GMT</pubDate></item><item><title><![CDATA[Reply to Headerdatei wie korrekt einbinden? on Wed, 20 Aug 2003 16:49:53 GMT]]></title><description><![CDATA[<p>Ist der Konstruktor von ServerOptions zufällig eine nicht-inline Memberfunktion, die trotzdem im Header definiert ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337039</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 20 Aug 2003 16:49:53 GMT</pubDate></item><item><title><![CDATA[Reply to Headerdatei wie korrekt einbinden? on Wed, 20 Aug 2003 16:54:55 GMT]]></title><description><![CDATA[<p>Ja, ist sie...<br />
Muss ich dafür ne extra .cpp Datei erstellen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337041</guid><dc:creator><![CDATA[Programator]]></dc:creator><pubDate>Wed, 20 Aug 2003 16:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to Headerdatei wie korrekt einbinden? on Wed, 20 Aug 2003 17:04:03 GMT]]></title><description><![CDATA[<p>Zum Beispiel. Wie du das machst, bleibt dir überlassen. Jedenfalls wird die Funktion, wenn sie in einem Header steht, der in mehreren .cpp Files eingebunden wird, am Ende auch in mehreren .obj Files vorkommen, und daran stößt sich der Linker. Entweder du machst sie inline, oder du sorgst dafür, dass es die Funktionsdefinition nur einmal im ganzen Projekt gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337045</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 20 Aug 2003 17:04:03 GMT</pubDate></item><item><title><![CDATA[Reply to Headerdatei wie korrekt einbinden? on Wed, 20 Aug 2003 22:23:43 GMT]]></title><description><![CDATA[<p>Cool, supervielen Dank für die schnelle Hilfe, klappt im Moment alles wunderbar <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>Philipp</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337310</guid><dc:creator><![CDATA[Programator]]></dc:creator><pubDate>Wed, 20 Aug 2003 22:23:43 GMT</pubDate></item></channel></rss>