<?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[Libcurl static funktioniert nicht!?]]></title><description><![CDATA[<p>Hiho,<br />
mein Programm (geschrieben in C++, weshalb ich nicht weiß, ob dieses Thema nun zu C oder zu C++ gehört [da Libcurl reines C ist]) funktioniert prima, sofern ich die normale libcurl.lib 7.19 einbinde. Es kann erfolgreich oder eben nicht erfolgreich ggf. mit Proxy eine Website aufrufen. Sofern ich jedoch Libcurl (die 7.28.1 Version) manuell compilen will, klappt das Compilen auch. Einbinden tu ich das ganze wie folgt: als Präprozessordefine (in den MSVC [achja, ich benutze Visual Studio 12]) CURL_STATICLIB, die Runtime Multithreaded eingebunden und die anderen Libs per Linker-Einstellung so eingebunden:</p>
<pre><code>C:\C++\libs\libcurl_static.lib
C:\C++\openssl-0.9.8g_static_win32\lib\ssleay32.lib
C:\C++\openssl-0.9.8g_static_win32\lib\libeay32.lib
C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86\WS2_32.Lib
</code></pre>
<p>Compilen klappt auch, in der Praxis jedoch wird jede Connection (zumindestens mit Proxy) nicht als CURLE_OK beendet. Vielleicht gibt es Versionsunterschiede?</p>
<pre><code>CURL *curl = curl_easy_init();

	curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
	curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 1);
	curl_easy_setopt(curl, CURLOPT_PROXY, proxy.c_str());
	curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
	curl_easy_setopt(curl, CURLOPT_URL, url.c_str());

	if (curl_easy_perform(curl) == CURLE_OK) {
...
</code></pre>
<p>Wie gesagt, in der dynamic 7.19 Variante klappt es, in der static 7.28.1 Variante jedoch nicht.</p>
<p>Vielen Dank im Voraus.</p>
<p>€: Vor dem Funktionsaufruf wird auch noch CURL initialisiert und es handelt sich hierbei um eine Multithreading Applikation (sofern das relevant ist)</p>
<p>€2: Hat sich erledigt.. zuerst hatte ich noch die 7.19 CURL-Headerdateien benutzt und danach habe ich gemerkt, dass man bei Version 7.28.1 eine Funktion angeben MUSS oder eben CURLOPT_CONNECT_ONLY benutzen muss, wenn man z.B. nur einen Proxy testen möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/313585/libcurl-static-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 03:54:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/313585.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Feb 2013 01:41:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Libcurl static funktioniert nicht!? on Wed, 06 Feb 2013 10:39:45 GMT]]></title><description><![CDATA[<p>Hiho,<br />
mein Programm (geschrieben in C++, weshalb ich nicht weiß, ob dieses Thema nun zu C oder zu C++ gehört [da Libcurl reines C ist]) funktioniert prima, sofern ich die normale libcurl.lib 7.19 einbinde. Es kann erfolgreich oder eben nicht erfolgreich ggf. mit Proxy eine Website aufrufen. Sofern ich jedoch Libcurl (die 7.28.1 Version) manuell compilen will, klappt das Compilen auch. Einbinden tu ich das ganze wie folgt: als Präprozessordefine (in den MSVC [achja, ich benutze Visual Studio 12]) CURL_STATICLIB, die Runtime Multithreaded eingebunden und die anderen Libs per Linker-Einstellung so eingebunden:</p>
<pre><code>C:\C++\libs\libcurl_static.lib
C:\C++\openssl-0.9.8g_static_win32\lib\ssleay32.lib
C:\C++\openssl-0.9.8g_static_win32\lib\libeay32.lib
C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86\WS2_32.Lib
</code></pre>
<p>Compilen klappt auch, in der Praxis jedoch wird jede Connection (zumindestens mit Proxy) nicht als CURLE_OK beendet. Vielleicht gibt es Versionsunterschiede?</p>
<pre><code>CURL *curl = curl_easy_init();

	curl_easy_setopt(curl, CURLOPT_FAILONERROR, true);
	curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 1);
	curl_easy_setopt(curl, CURLOPT_PROXY, proxy.c_str());
	curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
	curl_easy_setopt(curl, CURLOPT_URL, url.c_str());

	if (curl_easy_perform(curl) == CURLE_OK) {
...
</code></pre>
<p>Wie gesagt, in der dynamic 7.19 Variante klappt es, in der static 7.28.1 Variante jedoch nicht.</p>
<p>Vielen Dank im Voraus.</p>
<p>€: Vor dem Funktionsaufruf wird auch noch CURL initialisiert und es handelt sich hierbei um eine Multithreading Applikation (sofern das relevant ist)</p>
<p>€2: Hat sich erledigt.. zuerst hatte ich noch die 7.19 CURL-Headerdateien benutzt und danach habe ich gemerkt, dass man bei Version 7.28.1 eine Funktion angeben MUSS oder eben CURLOPT_CONNECT_ONLY benutzen muss, wenn man z.B. nur einen Proxy testen möchte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2296097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2296097</guid><dc:creator><![CDATA[An0nym0us]]></dc:creator><pubDate>Wed, 06 Feb 2013 10:39:45 GMT</pubDate></item></channel></rss>