<?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[fehler bei getcwd]]></title><description><![CDATA[<p>hi,</p>
<p>versuche mein aktuelles Arbeitsverzeichnis zu finden. Hab ein bisschen in google gesucht und folgendes gefunden</p>
<p><a href="http://www.win-tux.de/c_019_002.htm#RxxobKap01900204002AF31F02C1A7" rel="nofollow">http://www.win-tux.de/c_019_002.htm#RxxobKap01900204002AF31F02C1A7</a></p>
<p>meine Implementation:</p>
<pre><code class="language-cpp">#include &lt;unistd.h&gt;
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
int main(int argc, char* argv[]){
    char infile[_POSIX_PATH_MAX];
    string projectPath=&quot;&quot;;
    if (getcwd(infile, sizeof(infile))==NULL){
        cout&lt;&lt;&quot;klappt&quot;&lt;&lt;endl;
    }else{
        cout&lt;&lt;&quot;noe&quot;&lt;&lt;endl;
    }
}
</code></pre>
<p>bekomme dabei fehler mit denen ich nicht wirklich was anfangen kann:</p>
<pre><code>mb: In function `__data_start':
(.data+0x8): multiple definition of `__dso_handle'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/crtbegin.o:(.data+0x0): first defined here
mb: In function `_init':
/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:25: multiple definition of `_init'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crti.o:/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:11: first defined here
mb: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crt1.o:init.c:(.text+0x0): first defined here
mb: In function `_fini':
/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:37: multiple definition of `_fini'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crti.o:/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:11: first defined here
mb:(.rodata+0x0): multiple definition of `_IO_stdin_used'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crt1.o:(.rodata.cst4+0x0): first defined here
mb: In function `__data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crt1.o:init.c:(.data+0x0): first defined here
/tmp/ccmrtBz5.o: In function `printHelp()':
main.cpp:(.text+0xe6): multiple definition of `printHelp()'
mb:(.text+0x1fc): first defined here
/tmp/ccmrtBz5.o: In function `main':
main.cpp:(.text+0x164): multiple definition of `main'
mb:(.text+0x31c): first defined here
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: Warning: size of symbol `main' changed from 635 in mb to 270 in /tmp/ccmrtBz5.o
/tmp/ccmrtBz5.o: In function `printVersion()':
main.cpp:(.text+0x272): multiple definition of `printVersion()'
mb:(.text+0x2ec): first defined here
collect2: ld returned 1 exit status
</code></pre>
<p><div class="plugin-markdown"><input type="checkbox" id="checkbox6488" checked="true" /><label for="checkbox6488">übergebenen relativen pfads. So eine funktion hab ich bisher nicht gefunden, ein funktionierendes getcwd würde mir reichen :-D.</label></div></p>
<p>In Python würd ich das einfach über &quot;os.path.abspath(...)&quot; machen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226801/fehler-bei-getcwd</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 13:23:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226801.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 06 Nov 2008 07:58:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fehler bei getcwd on Thu, 06 Nov 2008 07:58:10 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>versuche mein aktuelles Arbeitsverzeichnis zu finden. Hab ein bisschen in google gesucht und folgendes gefunden</p>
<p><a href="http://www.win-tux.de/c_019_002.htm#RxxobKap01900204002AF31F02C1A7" rel="nofollow">http://www.win-tux.de/c_019_002.htm#RxxobKap01900204002AF31F02C1A7</a></p>
<p>meine Implementation:</p>
<pre><code class="language-cpp">#include &lt;unistd.h&gt;
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
int main(int argc, char* argv[]){
    char infile[_POSIX_PATH_MAX];
    string projectPath=&quot;&quot;;
    if (getcwd(infile, sizeof(infile))==NULL){
        cout&lt;&lt;&quot;klappt&quot;&lt;&lt;endl;
    }else{
        cout&lt;&lt;&quot;noe&quot;&lt;&lt;endl;
    }
}
</code></pre>
<p>bekomme dabei fehler mit denen ich nicht wirklich was anfangen kann:</p>
<pre><code>mb: In function `__data_start':
(.data+0x8): multiple definition of `__dso_handle'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/crtbegin.o:(.data+0x0): first defined here
mb: In function `_init':
/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:25: multiple definition of `_init'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crti.o:/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:11: first defined here
mb: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crt1.o:init.c:(.text+0x0): first defined here
mb: In function `_fini':
/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:37: multiple definition of `_fini'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crti.o:/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S:11: first defined here
mb:(.rodata+0x0): multiple definition of `_IO_stdin_used'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crt1.o:(.rodata.cst4+0x0): first defined here
mb: In function `__data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../lib64/crt1.o:init.c:(.data+0x0): first defined here
/tmp/ccmrtBz5.o: In function `printHelp()':
main.cpp:(.text+0xe6): multiple definition of `printHelp()'
mb:(.text+0x1fc): first defined here
/tmp/ccmrtBz5.o: In function `main':
main.cpp:(.text+0x164): multiple definition of `main'
mb:(.text+0x31c): first defined here
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: Warning: size of symbol `main' changed from 635 in mb to 270 in /tmp/ccmrtBz5.o
/tmp/ccmrtBz5.o: In function `printVersion()':
main.cpp:(.text+0x272): multiple definition of `printVersion()'
mb:(.text+0x2ec): first defined here
collect2: ld returned 1 exit status
</code></pre>
<p><div class="plugin-markdown"><input type="checkbox" id="checkbox6488" checked="true" /><label for="checkbox6488">übergebenen relativen pfads. So eine funktion hab ich bisher nicht gefunden, ein funktionierendes getcwd würde mir reichen :-D.</label></div></p>
<p>In Python würd ich das einfach über &quot;os.path.abspath(...)&quot; machen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610975</guid><dc:creator><![CDATA[_-&#x2F;]]></dc:creator><pubDate>Thu, 06 Nov 2008 07:58:10 GMT</pubDate></item><item><title><![CDATA[Reply to fehler bei getcwd on Thu, 06 Nov 2008 08:03:12 GMT]]></title><description><![CDATA[<p>Normalerweise musst du da ja noch eine Lib mitlinken.</p>
<p>Obwohl ich dir eigentlich eher zu boost::filesystem raten.<br />
<a href="http://www.boost.org/doc/libs/1_37_0/libs/filesystem/doc/index.htm" rel="nofollow">http://www.boost.org/doc/libs/1_37_0/libs/filesystem/doc/index.htm</a></p>
<p>Ist sehr angenehm und einfach zu handhaben. Dazu kommt noch, dass du dir auch (fast) keine Gedanken um das OS machen musst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610978</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 06 Nov 2008 08:03:12 GMT</pubDate></item><item><title><![CDATA[Reply to fehler bei getcwd on Thu, 06 Nov 2008 08:15:08 GMT]]></title><description><![CDATA[<p>Zeig mal die Kommandozeile mit der Du linkst. Das sieht irgendwie so aus als würdest Du das ausführbare Programm mb mit dem Quelltext main.cpp zusammenlinken wollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610983</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 06 Nov 2008 08:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to fehler bei getcwd on Thu, 06 Nov 2008 08:29:14 GMT]]></title><description><![CDATA[<p>omg................</p>
<p>vielen dank !!!!! man ich bin so doof, das ist wenn man so faul ist und den befehl nicht immer wieder neu eigeben will.</p>
<p>hatte &quot;g++ mb main.cpp&quot; das -o sollt man noch mit angeben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> &quot;g++ -o mb main.cpp&quot;</p>
<p>ohne den tipp hätt ich wohl noch ewig gesucht^^ manchmal sinds so kleinigkeiten</p>
<p>mit boost hab ich bisher noch gar nichts gemacht, werd ich mir aber auch mal anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610991</guid><dc:creator><![CDATA[_-&#x2F;]]></dc:creator><pubDate>Thu, 06 Nov 2008 08:29:14 GMT</pubDate></item><item><title><![CDATA[Reply to fehler bei getcwd on Thu, 06 Nov 2008 08:30:34 GMT]]></title><description><![CDATA[<p>davon abgesehen noch ein paar Einzelheiten betreffs Standrad-C++:<br />
- die Header &lt;stdio.h&gt; und &lt;stdlib.h&gt; sind <strong>veraltet</strong>, seit 1998 verlangt der C++ Standard, dass stattdessen die header &lt;cstdio&gt; und &lt;cstdlib&gt; benutzt werden (die enthalten die selben Funktionen, nur im namespace std)<br />
- die Funktionen in den Headern &lt;stdio.h&gt; und &lt;stdlib.h&gt; (bzw. in den entsprechenden Standard-C++ Headern) sind <strong>C-Funktionen, kein C++</strong>. Auch wenn die C-Bibliotheken aus Kompatibilitätsgründen in C++ aufgenommen wurden, gibts in C++ eigene Bibliotheken die die entsprechende Funktionalität bieten, die aus verschiedenen Gründen (objektorientierung, Typsicherheit,...) vorzuziehen sind.<br />
- die Funktionen der Header &lt;stdio.h&gt; und &lt;stdlib.h&gt; werden in deinem Codebesipiel <strong>nicht benutzt</strong>, daher solltest du sie auch nicht einbinden. Stattdessen benutzt du cout, ohne den entsprechenden HEader &lt;iostream&gt; einzubinden und ohne den namespace std zu benutzen. Der abgebildete Code KANN so also garnicht compilieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610992</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 06 Nov 2008 08:30:34 GMT</pubDate></item><item><title><![CDATA[Reply to fehler bei getcwd on Thu, 06 Nov 2008 08:39:40 GMT]]></title><description><![CDATA[<p>jo sind draussen, hatte die nur zum testen drinne weil das in irgendnem beispiel von getcwd mit drinne waren und das die ganze zeit nicht geklappt hat.</p>
<p>iostream und so sind in ner definition.h die ins gesamte projekt eingebuden wird (macht man das so ??)</p>
<p>hatte auch nur den teil meiner main gepostet bei dem ich probleme hatte <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>danke für den tipp mit den veralteten sachen, muss ich mal drauf achten wenn ich was im inet finde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610996</guid><dc:creator><![CDATA[_-&#x2F;]]></dc:creator><pubDate>Thu, 06 Nov 2008 08:39:40 GMT</pubDate></item><item><title><![CDATA[Reply to fehler bei getcwd on Thu, 06 Nov 2008 10:22:28 GMT]]></title><description><![CDATA[<p>_-/ schrieb:</p>
<blockquote>
<p>iostream und so sind in ner definition.h die ins gesamte projekt eingebuden wird (macht man das so ??)</p>
</blockquote>
<p>Tendenziell eher nein. Es mag Ausnahmen geben, aber normalerweise bindet man in eine Datei genau die Header ein, von denen auch Elemente tatsächlich dort benutzt werden. Die &quot;Große Headersammlung&quot; für alles was im Projekt so vorkommen könnte, nimmt einem für den Moment zwar Tipparbeit ab (einfach jedesmal #include &quot;mymonsterheadercollection.h&quot;), aber vor allem wenns dann an Dinge geht, die nicht im Standard enthalten sind, erschwerts die Übersicht.</p>
<pre><code class="language-cpp">#include &quot;mymonsterheadercollection.h&quot;
//...
do_foo(22, new Bla()); //do_foo bereitet Probleme - nur aus welchem der 50 Header in mymonsterheadercollection stammt es?
</code></pre>
<p>Abgesehen davon speist man den Compiler damit in jeder Übersetzungseinheit mit Informationen die er garnicht braucht...</p>
<p>Siehe dazu auch hier: <a href="http://www.gotw.ca/gotw/007.htm" rel="nofollow">http://www.gotw.ca/gotw/007.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1611074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1611074</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 06 Nov 2008 10:22:28 GMT</pubDate></item></channel></rss>