<?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[Probleme mit modularisierung - was wo includen]]></title><description><![CDATA[<p>Hi, ich weiß, es gibt da schon ein ähnliches Thema, aber ich dachte mir es ist besser, wenn ich mein Problem in einen eigenen post stecke, und nicht den anderen unübersichtlich mache...</p>
<p>Mein Problem ist folgendes:<br />
Ich habe 3 Dateien: main.cpp, CID3v1.h und CID3v1.cpp.<br />
In der main.cpp werden natürlich nur die funktionen aufgerufen usw.<br />
In der CID3v1.h ist eine Klasse definiert, und in der Klasse ein paar funktionsprototypen.<br />
bsp.:</p>
<pre><code class="language-cpp">class ID3_tag

{
...

public:

...
int get_tag(char* szTargetString);
int get_tag(int offset, char* szTargetString);
...

};
</code></pre>
<p>In CID3v1.cpp dann die definitionen:</p>
<pre><code class="language-cpp">...

int ID3_tag::get_tag(char* szTargetString)
{
...
}

...
</code></pre>
<p>So, nun habe ich irgendwo gelesen, dass man nur in der .cpp Datei den Header includen soll, und in dem Hauptprogramm dann auch nur den header includen soll, nicht die .cpp datei.<br />
Nur leider bekomme ich immer linker fehler, wenn ich von der main.cpp aus die funktion aufrufe.<br />
Wenn ich allerdings beide Dateien einbinde, dann funktioniert es.<br />
So, und jetzt bin ich völlig verwirrt, denn ich habe jetzt keine ahnung, was wo in welche datei gehört und welche datei was wie includen soll. Ich hab nämlich das gefühl, dass meine Lösung zwar funktioniert, aber nicht ganz &quot;korrekt&quot; ist.</p>
<p>Wäre nett, wenn mir da jemand aus der Verwirrung helfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/170178/probleme-mit-modularisierung-was-wo-includen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 00:05:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/170178.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Jan 2007 14:08:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme mit modularisierung - was wo includen on Fri, 12 Jan 2007 14:09:33 GMT]]></title><description><![CDATA[<p>Hi, ich weiß, es gibt da schon ein ähnliches Thema, aber ich dachte mir es ist besser, wenn ich mein Problem in einen eigenen post stecke, und nicht den anderen unübersichtlich mache...</p>
<p>Mein Problem ist folgendes:<br />
Ich habe 3 Dateien: main.cpp, CID3v1.h und CID3v1.cpp.<br />
In der main.cpp werden natürlich nur die funktionen aufgerufen usw.<br />
In der CID3v1.h ist eine Klasse definiert, und in der Klasse ein paar funktionsprototypen.<br />
bsp.:</p>
<pre><code class="language-cpp">class ID3_tag

{
...

public:

...
int get_tag(char* szTargetString);
int get_tag(int offset, char* szTargetString);
...

};
</code></pre>
<p>In CID3v1.cpp dann die definitionen:</p>
<pre><code class="language-cpp">...

int ID3_tag::get_tag(char* szTargetString)
{
...
}

...
</code></pre>
<p>So, nun habe ich irgendwo gelesen, dass man nur in der .cpp Datei den Header includen soll, und in dem Hauptprogramm dann auch nur den header includen soll, nicht die .cpp datei.<br />
Nur leider bekomme ich immer linker fehler, wenn ich von der main.cpp aus die funktion aufrufe.<br />
Wenn ich allerdings beide Dateien einbinde, dann funktioniert es.<br />
So, und jetzt bin ich völlig verwirrt, denn ich habe jetzt keine ahnung, was wo in welche datei gehört und welche datei was wie includen soll. Ich hab nämlich das gefühl, dass meine Lösung zwar funktioniert, aber nicht ganz &quot;korrekt&quot; ist.</p>
<p>Wäre nett, wenn mir da jemand aus der Verwirrung helfen könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208757</guid><dc:creator><![CDATA[DrPhil_Guth]]></dc:creator><pubDate>Fri, 12 Jan 2007 14:09:33 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit modularisierung - was wo includen on Fri, 12 Jan 2007 14:20:14 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das mit dem Inkludieren hast du richtig verstanden. Worauf du allerdings<br />
achten musst ist, dass du auch alle .cpp-Dateien kompilierst und linkst. Du<br />
musst also alle .cpp-Dateien beim Erstellen deines Programmes angeben.</p>
<p>gruss<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208770</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Fri, 12 Jan 2007 14:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit modularisierung - was wo includen on Fri, 12 Jan 2007 14:40:32 GMT]]></title><description><![CDATA[<p>Ach sooooo...<br />
Jetzt hab ichs kapiert. Ich hab mich schon gewundert, wie die Datei ins Programm reinkommt, wenn die nirgendwo includet wird.<br />
Aber sag mal, jetzt hab ich probleme die richtig zu linken und zu kompilieren.<br />
Ich benutze den g++ Compiler, wie wäre da z.B. der richtige befehl zum Kompilieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208779</guid><dc:creator><![CDATA[DrPhil_Guth]]></dc:creator><pubDate>Fri, 12 Jan 2007 14:40:32 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit modularisierung - was wo includen on Fri, 12 Jan 2007 14:42:03 GMT]]></title><description><![CDATA[<p>DrPhil_Guth schrieb:</p>
<blockquote>
<p>Ach sooooo...<br />
Jetzt hab ichs kapiert. Ich hab mich schon gewundert, wie die Datei ins Programm reinkommt, wenn die nirgendwo includet wird.<br />
Aber sag mal, jetzt hab ich probleme die richtig zu linken und zu kompilieren.<br />
Ich benutze den g++ Compiler, wie wäre da z.B. der richtige befehl zum Kompilieren?</p>
</blockquote>
<p>ohne gewähr:</p>
<pre><code>g++ test.cpp -o meineexedatei.exe
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1208780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208780</guid><dc:creator><![CDATA[Listing]]></dc:creator><pubDate>Fri, 12 Jan 2007 14:42:03 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit modularisierung - was wo includen on Fri, 12 Jan 2007 14:47:23 GMT]]></title><description><![CDATA[<p>gut, dass das ohne gewähr war, denn<br />
1. exe dateien unter linux is nich (aber das ist eine kleinigkeit)<br />
und 2. das man nur eine cpp Datei kompilieren lässt, war ja der ursprüngliche Fehler. Ich bin jetzt draufgekommen (danke virtual Realisticer), dass man alle .cpp Dateien kompilieren muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208782</guid><dc:creator><![CDATA[DrPhil_Guth]]></dc:creator><pubDate>Fri, 12 Jan 2007 14:47:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit modularisierung - was wo includen on Fri, 12 Jan 2007 14:49:04 GMT]]></title><description><![CDATA[<p>Listing hat es bereits korrekt gesagt. Wenn du nun mehrere .cpp-Dateien hast,<br />
dann sieht das Ganze so aus:</p>
<pre><code>g++ file1.cpp [file2.cpp [filex.cpp [...&rsqb;&rsqb;] -o prgname
</code></pre>
<p>gruss<br />
v R</p>
<p>[edit]<br />
da warste schneller <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="🙂"
    /><br />
[/edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208783</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208783</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Fri, 12 Jan 2007 14:49:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme mit modularisierung - was wo includen on Fri, 12 Jan 2007 18:57:51 GMT]]></title><description><![CDATA[<p>Jo, danke hat jetzt funktioniert. Jetzt hab ich zwar Probleme mit ein paar funktionsaufrufen, aber das gehört nicht in diesen Thread.<br />
Danke für die Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1208976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1208976</guid><dc:creator><![CDATA[DrPhil_Guth]]></dc:creator><pubDate>Fri, 12 Jan 2007 18:57:51 GMT</pubDate></item></channel></rss>