<?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[cURL in C++]]></title><description><![CDATA[<p>Nachdem ich schon den ganzen Tag damit verbracht habe, erfolglos nach Lösungen zu suchen, hoffe ich, dass hier jemand eine kennt.</p>
<p>Ich möchte <a href="http://curl.haxx.se/libcurl/c/simple.html" rel="nofollow">dieses Beispiel mit cURL</a> unter Windows mit MinGW zum Laufen bringen.</p>
<p>Versuche ich allerdings, es mit g++ zu kompileren:</p>
<pre><code>g++ -o Test.exe Test.cpp -DCURL_STATICLIB -I curl\include -L curl\lib -lcurl
</code></pre>
<p>bekomme ich immer die gleichen Fehler:</p>
<pre><code>C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0x87): undefined reference to `_curl_easy_init'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0xb6): undefined reference to `_curl_easy_setopt'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0xc2): undefined reference to `_curl_easy_perform'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0xd9): undefined reference to `_curl_easy_strerror'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0x101): undefined reference to `_curl_easy_cleanup'
collect2.exe: error: ld returned 1 exit status
</code></pre>
<p>Ich habe ehrlich keine Ideen mehr, was diese Fehlermeldungen verursachen könnte...<br />
Ich danke also im Voraus für jegliche Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309166/curl-in-c</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 12:09:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309166.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Oct 2012 01:20:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cURL in C++ on Tue, 16 Oct 2012 01:20:35 GMT]]></title><description><![CDATA[<p>Nachdem ich schon den ganzen Tag damit verbracht habe, erfolglos nach Lösungen zu suchen, hoffe ich, dass hier jemand eine kennt.</p>
<p>Ich möchte <a href="http://curl.haxx.se/libcurl/c/simple.html" rel="nofollow">dieses Beispiel mit cURL</a> unter Windows mit MinGW zum Laufen bringen.</p>
<p>Versuche ich allerdings, es mit g++ zu kompileren:</p>
<pre><code>g++ -o Test.exe Test.cpp -DCURL_STATICLIB -I curl\include -L curl\lib -lcurl
</code></pre>
<p>bekomme ich immer die gleichen Fehler:</p>
<pre><code>C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0x87): undefined reference to `_curl_easy_init'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0xb6): undefined reference to `_curl_easy_setopt'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0xc2): undefined reference to `_curl_easy_perform'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0xd9): undefined reference to `_curl_easy_strerror'
C:\Users\Xenon\AppData\Local\Temp\ccI5UUEq.o:Test.cpp:(.text+0x101): undefined reference to `_curl_easy_cleanup'
collect2.exe: error: ld returned 1 exit status
</code></pre>
<p>Ich habe ehrlich keine Ideen mehr, was diese Fehlermeldungen verursachen könnte...<br />
Ich danke also im Voraus für jegliche Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260862</guid><dc:creator><![CDATA[Xenon O]]></dc:creator><pubDate>Tue, 16 Oct 2012 01:20:35 GMT</pubDate></item><item><title><![CDATA[Reply to cURL in C++ on Tue, 16 Oct 2012 06:45:16 GMT]]></title><description><![CDATA[<p>extern &quot;C&quot; um den curl.h-#include rummachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260878</guid><dc:creator><![CDATA[Soziopath]]></dc:creator><pubDate>Tue, 16 Oct 2012 06:45:16 GMT</pubDate></item><item><title><![CDATA[Reply to cURL in C++ on Tue, 16 Oct 2012 10:06:35 GMT]]></title><description><![CDATA[<p>Danke für die Antwort!<br />
In meinem Code ist nun ein</p>
<pre><code>extern &quot;C&quot; {
#include &lt;curl/curl.h&gt;
}
</code></pre>
<p>Leider ändert sich die Fehlermeldung aber dadurch nicht.</p>
<p>Falls es hilfreich sein sollte; ich habe auch noch versucht, den Compiler mit dem Parameter -v auszuführen. Ergebnis:</p>
<pre><code>&gt;g++ -v -o Test.exe Test.cpp -DCURL_STATICLIB -I curl\include -L curl\lib -lcurl
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.7.0/lto-wrapper.exe
Target: mingw32
Configured with: ../gcc-4.7.0/configure --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --disable-build-poststage1-with-cxx --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.7.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '-o' 'Test.exe' '-D' 'CURL_STATICLIB' '-I' 'curl\include' '-Lcurl\lib' '-shared-libgcc' '-mtune=i386' '-march=i386'
 c:/mingw/bin/../libexec/gcc/mingw32/4.7.0/cc1plus.exe -quiet -v -I curl\include
 -iprefix c:\mingw\bin\../lib/gcc/mingw32/4.7.0/ -D CURL_STATICLIB Test.cpp -quiet -dumpbase Test.cpp -mtune=i386 -march=i386 -auxbase Test -version -o C:\Users\Xenon\AppData\Local\Temp\ccsSlqnP.s
GNU C++ (GCC) version 4.7.0 (mingw32)
        compiled by GNU C version 4.7.0, GMP version 5.0.1, MPFR version 2.4.1,
MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory &quot;c:\mingw\bin\../lib/gcc/mingw32/4.7.0/../../../../mingw32/include&quot;
ignoring duplicate directory &quot;c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.7.0/include/c++&quot;
ignoring duplicate directory &quot;c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.7.0/include/c++/mingw32&quot;
ignoring duplicate directory &quot;c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.7.0/include/c++/backward&quot;
ignoring duplicate directory &quot;c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.7.0/include&quot;
ignoring nonexistent directory &quot;/mingw/include&quot;
ignoring duplicate directory &quot;c:/mingw/lib/gcc/../../include&quot;
ignoring duplicate directory &quot;c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.7.0/include-fixed&quot;
ignoring nonexistent directory &quot;c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.7.0/../../../../mingw32/include&quot;
ignoring nonexistent directory &quot;/mingw/include&quot;
#include &quot;...&quot; search starts here:
#include &lt;...&gt; search starts here:
 curl\include
 c:\mingw\bin\../lib/gcc/mingw32/4.7.0/include/c++
 c:\mingw\bin\../lib/gcc/mingw32/4.7.0/include/c++/mingw32
 c:\mingw\bin\../lib/gcc/mingw32/4.7.0/include/c++/backward
 c:\mingw\bin\../lib/gcc/mingw32/4.7.0/include
 c:\mingw\bin\../lib/gcc/mingw32/4.7.0/../../../../include
 c:\mingw\bin\../lib/gcc/mingw32/4.7.0/include-fixed
End of search list.
GNU C++ (GCC) version 4.7.0 (mingw32)
        compiled by GNU C version 4.7.0, GMP version 5.0.1, MPFR version 2.4.1, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 9fc40f37d31a03e5502141ce58bdf4c7
COLLECT_GCC_OPTIONS='-v' '-o' 'Test.exe' '-D' 'CURL_STATICLIB' '-I' 'curl\include' '-Lcurl\lib' '-shared-libgcc' '-mtune=i386' '-march=i386'
 c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/as.exe -o C:\Users\Xenon\AppData\Local\Temp\ccYxunOQ.o C:\Users\Xenon\AppData\Local\Temp\ccsSlqnP.s
COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.7.0/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.7.0/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/lib/;c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../
COLLECT_GCC_OPTIONS='-v' '-o' 'Test.exe' '-D' 'CURL_STATICLIB' '-I' 'curl\include' '-Lcurl\lib' '-shared-libgcc' '-mtune=i386' '-march=i386'
 c:/mingw/bin/../libexec/gcc/mingw32/4.7.0/collect2.exe -Bdynamic -u ___register_frame_info -u ___deregister_frame_info -o Test.exe c:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../crt2.o c:/mingw/bin/../lib/gcc/mingw32/4.7.0/crtbegin.o -Lcurl\lib -Lc:/mingw/bin/../lib/gcc/mingw32/4.7.0 -Lc:/mingw/bin/../lib/gcc -Lc:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../../mingw32/lib -Lc:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../.. C:\Users\Xenon\AppData\Local\Temp\ccYxunOQ.o -lcurl -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32
 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt c:/mingw/bin/../lib/gcc/mingw32/4.7.0/crtend.o
C:\Users\Xenon\AppData\Local\Temp\ccYxunOQ.o:Test.cpp:(.text+0xf): undefined reference to `_curl_easy_init'
C:\Users\Xenon\AppData\Local\Temp\ccYxunOQ.o:Test.cpp:(.text+0x36): undefined reference to `_curl_easy_setopt'
C:\Users\Xenon\AppData\Local\Temp\ccYxunOQ.o:Test.cpp:(.text+0x42): undefined reference to `_curl_easy_perform'
C:\Users\Xenon\AppData\Local\Temp\ccYxunOQ.o:Test.cpp:(.text+0x59): undefined reference to `_curl_easy_strerror'
C:\Users\Xenon\AppData\Local\Temp\ccYxunOQ.o:Test.cpp:(.text+0x81): undefined reference to `_curl_easy_cleanup'
collect2.exe: error: ld returned 1 exit status
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2260923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260923</guid><dc:creator><![CDATA[Xenon O]]></dc:creator><pubDate>Tue, 16 Oct 2012 10:06:35 GMT</pubDate></item><item><title><![CDATA[Reply to cURL in C++ on Tue, 16 Oct 2012 16:45:47 GMT]]></title><description><![CDATA[<p>Das klingt nicht nach einem Header Fehler, &quot;ld.exe&quot; ist der Linker... <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="🙄"
    /></p>
<p>Hast du dem Linker mitgeteilt das er die Lib dazu auch linken soll ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261072</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Tue, 16 Oct 2012 16:45:47 GMT</pubDate></item><item><title><![CDATA[Reply to cURL in C++ on Tue, 16 Oct 2012 19:08:08 GMT]]></title><description><![CDATA[<blockquote>
<p>[quote=&quot;DarkShadow44&quot;]Das klingt nicht nach einem Header Fehler, &quot;ld.exe&quot; ist der Linker... <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="🙄"
    /></p>
</blockquote>
<p>Nicht die Augen verdrehen, wenn du keine Ahnung hast. Das extern &quot;C&quot; ist sehrwohl notwendig, wenn man in C++ C-Header einbindet - Stichwort &quot;name mangling&quot;.</p>
<p>Hier ist es aber wohl tatsächlich nicht notwendig, da curl.h das selbst macht (in ein #ifdef __cplusplus gepackt, wie sich das gehört), aber leider erst in Zeile 90, weshalb ich das beim schnellen Nachschauen nicht gesehen hab.</p>
<blockquote>
<p>Hast du dem Linker mitgeteilt das er die Lib dazu auch linken soll ?</p>
</blockquote>
<p>Das hat er (&quot;-lcurl&quot;).<br />
Das Problem liegt aber wohl am static &quot;-DCURL_STATIC&quot;. Da hab ich jetzt keine AHnung, wie unter Windows mit MinGW statisches Linken zu bewerkstelligen ist, und was obiges Flag jetzt genau macht, ob es überhaupt einen Einfluss hat uswusf.<br />
Vielleicht hat das ja schonmal wer in dieser Konstellation bewerkstelligt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261116</guid><dc:creator><![CDATA[Soziopath]]></dc:creator><pubDate>Tue, 16 Oct 2012 19:08:08 GMT</pubDate></item></channel></rss>