<?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[#define oder in den Settings festlegen?]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich möchte einen externen Sourcecode kompilieren. In der Anleitung steht das ich ein paar Defines festlegen muß.</p>
<p>Wenn ich in meinem main() Modul als erstes (vor allen #includes) ein &quot;#define abc&quot; schreibe tut der Kompiler so als wenn ich abc gar nicht definiert hätte. Gebe ich aber unter Project-&gt;Settings-&gt;C++-&gt;PreprocessorDefinitions das Define &quot;abc&quot; an verschwindet der Fehler. Warum sind beide Definitionspositionen nicht gleichwertig?</p>
<p>Vielen Dank</p>
<p>Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167641/define-oder-in-den-settings-festlegen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 12:47:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167641.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Dec 2006 11:13:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 11:13:39 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich möchte einen externen Sourcecode kompilieren. In der Anleitung steht das ich ein paar Defines festlegen muß.</p>
<p>Wenn ich in meinem main() Modul als erstes (vor allen #includes) ein &quot;#define abc&quot; schreibe tut der Kompiler so als wenn ich abc gar nicht definiert hätte. Gebe ich aber unter Project-&gt;Settings-&gt;C++-&gt;PreprocessorDefinitions das Define &quot;abc&quot; an verschwindet der Fehler. Warum sind beide Definitionspositionen nicht gleichwertig?</p>
<p>Vielen Dank</p>
<p>Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191109</guid><dc:creator><![CDATA[Mike abc]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:13:39 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 11:24:52 GMT]]></title><description><![CDATA[<p>Wo hast Du den #define abc angegeben?<br />
Ich vermute vor der #include &lt;stdafx.h&gt; Zeile!</p>
<p>Wenn das so ist, hier die Erklärung:<br />
Du musst wissen, dass durch die Funktion &quot;Precompiled&quot; Header alles bis zu einem bestimmten Punkt (header) vorkompiliert. Im Klartext heißt das, alles was vor #include &lt;stdafx.h&gt; stehtwird ignoriert, als wenn es nicht geschrieben wäre.</p>
<p>Wenn dem nicht so ist, dann hast Du definition evtl. nicht früh genug gemacht,dass Dein Code diesen define berücksichtigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191121</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:24:52 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 11:31:37 GMT]]></title><description><![CDATA[<p>Mike abc schrieb:</p>
<blockquote>
<p>Wenn ich in meinem main() ...</p>
</blockquote>
<p>ich vermute du hast das in der *.cpp geschrieben wo auch main angegeben ist - aber das define wird auch in einer anderen cpp datei gebraucht welches diese main cpp datei gar nicht kennt</p>
<p>entweder per settings definieren wie du selber schon probiert hast - oder an einer stelle definieren wo es fuer alle cpp {und h} dateien zur verfuegung steht - wie zb in der stdafx.h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191125</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:31:37 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 11:46:09 GMT]]></title><description><![CDATA[<p>Die vorkompilierten Header habe ich ausgeschaltet. Wenn ich den Eintrag &quot;#include &quot;stdafx.h&quot; bei der externen .c Datei einfüge erhalte ich die Fehlermeldung:<br />
&gt; 'Debug/ParserTest2.pch' is not a precompiled header file created with this compiler<br />
Jetzt habe ich sie global ausgeschaltet und die &quot;#include &quot;stdafx.h&quot; auskommentiert.<br />
Der Define steht somit in der ersten Zeile des main Modules. Trotzdem scheinen die Definitionen nicht gleichwertig zu sein.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20441">@Mr</a> Evil: Ich versuche eine Demo zum Laufen zu bringen. Ich habe die dortige main Routine in main_old umbenannt und mit &quot;#include &quot;Demo.c&quot;&quot; in mein aktuelles Projekt eingebunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191137</guid><dc:creator><![CDATA[Mike abc]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 11:53:45 GMT]]></title><description><![CDATA[<p>einfach so das atdafx.h einfuegen kannste vergessen - wie gesagt das ist ein precompiled header, und dieser ist ja nicht erstellt</p>
<p>hat dein normales projekt eine stdafx ? trags da mal ein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191144</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:53:45 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 12:15:06 GMT]]></title><description><![CDATA[<p>Die PreCompHeader habe ich ja abgeschaltet.</p>
<p>Mein Projekt sieht so aus:</p>
<pre><code>//#include &quot;stdafx.h&quot;
#define ABC
#include &quot;Demo.c&quot;

int main(int argc, char* argv[]) {
	printf(&quot;Hello World!\n&quot;);
	main_old(argc, (char **)&amp;argv);
	return 0;
}
</code></pre>
<p>Wenn ich es so kompiliere meckert er &quot;macro redefinition&quot;, weil ich ABC schon in den Settings definiert habe. Nehme ich es aus den Settings raus ist ABC in Demo.c nicht definiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191160</guid><dc:creator><![CDATA[Mike abc]]></dc:creator><pubDate>Wed, 13 Dec 2006 12:15:06 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 14:51:31 GMT]]></title><description><![CDATA[<p>Man inkludiert keine Quellcodedateien.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191256</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 13 Dec 2006 14:51:31 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 15:01:42 GMT]]></title><description><![CDATA[<p>CodeFinder schrieb:</p>
<blockquote>
<p>Man inkludiert keine Quellcodedateien.</p>
</blockquote>
<p>Man kann aber... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191265</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 13 Dec 2006 15:01:42 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 15:06:59 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>CodeFinder schrieb:</p>
<blockquote>
<p>Man inkludiert keine Quellcodedateien.</p>
</blockquote>
<p>Man kann aber... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Jo, machste das auch ^^ ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191271</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191271</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 13 Dec 2006 15:06:59 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 15:10:22 GMT]]></title><description><![CDATA[<p>Nur so nebenbei...<br />
Mir hat mal einer ein<br />
#include “ExtDllState.cpp“<br />
ungetestet aus dem Projekt gelöscht, weil er auch meinte, das macht man nicht.<br />
Folge:<br />
Erscheinen der DLL-Dialoge nach dem Zufallsprinzip...<br />
Artikel dazu:<br />
<a href="http://www.codeguru.com/cpp/w-p/dll/article.php/c107/" rel="nofollow">http://www.codeguru.com/cpp/w-p/dll/article.php/c107/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191273</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Wed, 13 Dec 2006 15:10:22 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 15:18:16 GMT]]></title><description><![CDATA[<p>Man macht es auch nicht! Was natürlich nicht heißt, dass es nicht geht, aber das hab ich auch nicht gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191279</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 13 Dec 2006 15:18:16 GMT</pubDate></item><item><title><![CDATA[Reply to #define oder in den Settings festlegen? on Wed, 13 Dec 2006 15:40:35 GMT]]></title><description><![CDATA[<p>CodeFinder schrieb:</p>
<blockquote>
<p>Man inkludiert keine Quellcodedateien.</p>
</blockquote>
<p>Dies ist ja nicht mein echtes Projekt, sondern nur ein Standard HelloWorld KonsolenPrj.</p>
<p>Bei diesem Beispiel werden gleich 2 Fehler geworfen. Einmal das ABC nicht definiert ist, einmal das ABC definiert ist.</p>
<pre><code class="language-cpp">//Inhalt des Main Moduls----------------
#define ABC
#include &quot;abc.c&quot;

int main(int argc, char* argv[]) {
	printf(&quot;Hello World!\n&quot;);
	return 0;
}
//--------------------------------------

//Inhalt des abc.c Moduls---------------
#ifdef ABC
#error ABC definiert
#else
#error Kein ABC definiert
#endif
//--------------------------------------
</code></pre>
<p>Eigentlich sollte ja nur der Fehler &quot;ABC definiert&quot; kommen. Ich schätze mal das hat irgendwas mit der MS Kompiler Abarbeitungsreihenfolge zu tun. Denn so kommt wieder nur die Meldung das ABC definiert ist:</p>
<pre><code class="language-cpp">//Inhalt des Main Moduls----------------
#define ABC
//#include &quot;abc.c&quot;

#ifdef ABC
#error ABC definiert
#else
#error Kein ABC definiert
#endif

int main(int argc, char* argv[]) {
	printf(&quot;Hello World!\n&quot;);
	return 0;
}
//--------------------------------------
</code></pre>
<p>Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191288</guid><dc:creator><![CDATA[Mike abc]]></dc:creator><pubDate>Wed, 13 Dec 2006 15:40:35 GMT</pubDate></item></channel></rss>