libcurl mit Visual Studio 2017

libcurl herunterladen und kompilieren

Download libcurl Source Paket (curl-7.54.0.zip) von der offiziellen Seite: https://curl.haxx.se/download.html. Die ZIP Datei in ein Verzeichnis entpacken, hier als Beispiel D:\libcurl.

Die cmd Konsole öffnen und die Datei vcvars32.bat ausführen, beim Visual Studio 2017 ist die Datei unter C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat zu finden.

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"

Danach ins Verzeichnis D:\libcurl\winbuild wechseln und folgenden Befehl ausführen:

D:\libcurl\winbuild> nmake /f Makefile.vc mode=static VC=12

Nach dem Kompilieren sind die Binaries sowie Libraries unter D:\libcurl\builds\libcurl-vc12-x86-release-static-ipv6-sspi-winssl zu finden.

libcurl in Visual Studio 2017 verlinken

Name: Visual Studio 2017

Rechts im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt klicken und Eigenschaften auswählen.

Name: Visual Studio 2017

Unter C/C++Allgemein bei Zusätzliche Includeverzeichnisse das include Verzeichnis vom kompilierten libcurl einfügen: D:\libcurl\builds\libcurl-vc12-x86-release-static-ipv6-sspi-winssl\include

Name: Visual Studio 2017

Unter C/C++Präprozessor bei Präprozessor CURL_STATICLIB hinzufügen.

Name: Visual Studio 2017

Unter LinkerAllgemein bei Zusätzliche Bibliotheksverzeichnisse das lib Verzeichnis vom kompilierten libcurl einfügen: D:\libcurl\builds\libcurl-vc12-x86-release-static-ipv6-sspi-winssl\lib

Name: Visual Studio 2017

Unter LinkerEingabe bei Zusätzliche Abhängigkeiten libcurl_a.lib hinzufügen.

Beispiel Code

Initialisierung

#include "stdafx.h"
#include <curl/curl.h>
 
 
int main(int argc, char* argv[])
{
	CURL *curl = curl_easy_init();
	if (curl) printf("curl_easy_init() succeeded!\n");
	else fprintf(stderr, "Error calling curl_easy_init().\n");
 
	return 0;
}

POST mit HTTPS

#include "stdafx.h"
#include <stdio.h>
#include <curl/curl.h>
 
int main()
{
	// init vars
	char url[] = "https://docs.lenux.org/test.php";
 
	// init curl
	CURL *curl;
	CURLcode res;
	curl = curl_easy_init();
 
	// if success
	if (curl) {
 
		// curl settings
		curl_easy_setopt(curl, CURLOPT_URL, url);
		curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
		curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
		curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");
 
		// curl start
		res = curl_easy_perform(curl);
		if (res == CURLE_OK) {
			printf("OK\n");
		}
		else {
			printf("curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
		}
 
		// curl close
		curl_easy_cleanup(curl);
	}
	else {
		printf("curl init failed\n");
	}
 
	return 0;
}

Sie haben weitere Fragen zu dieser Anleitung und möchten gerne mehr Informationen oder brauchen Unterstützung? Wir helfen Ihnen gerne, unsere Kontaktdaten finden Sie hier: https://df-informatik.ch/kontakt/