

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erste Schritte mit dem AWS SDK für C\$1\$1
<a name="getting-started"></a>

AWS SDK für C\$1\$1 ist eine modularisierte, plattformübergreifende Open-Source-Bibliothek, mit der Sie eine Verbindung zu Amazon Web Services herstellen können.

Sie AWS SDK für C\$1\$1 unterstützt mehrere Plattformen über mehrere Domänen hinweg, darunter Videospiele, Systeme, mobile Geräte und eingebettete Geräte. [CMake](https://cmake.org/) CMake ist ein Build-Tool, mit dem Sie die Abhängigkeiten Ihrer Anwendung verwalten und Makefiles erstellen können, die für die Plattform geeignet sind, auf der Sie aufbauen. CMake entfernt die Teile des Builds, die nicht für Ihre Plattform oder Anwendung verwendet werden.

Bevor Sie Code für den Zugriff auf AWS Ressourcen ausführen, müssen Sie festlegen, mit AWS welcher Methode sich Ihr Code authentifiziert.
+  [Authentifizierung mit AWS AWS SDK for C\$1\$1](credentials.md)

Um den AWS SDK für C\$1\$1 in Ihrem Code zu verwenden, rufen Sie die ausführbaren SDK-Dateien ab, indem Sie die SDK-Quelle direkt oder mithilfe eines Paketmanagers erstellen.
+  [Den AWS SDK für C\$1\$1 aus dem Quellcode holen](sdk-from-source.md)
+  [AWS SDK für C\$1\$1 Von einem Paketmanager bekommen](sdk-from-pm.md)

Falls Sie Probleme mit dem Build haben, finden Sie weitere Informationen CMake unter. [Behebung von Problemen mit AWS SDK for C\$1\$1 C\$1\$1-Build](troubleshooting-cmake.md)

# Authentifizierung mit AWS AWS SDK for C\$1\$1
<a name="credentials"></a>

Sie müssen festlegen, wie sich Ihr Code AWS bei der Entwicklung mit authentifiziert. AWS-Services Sie können den programmatischen Zugriff auf AWS Ressourcen je nach Umgebung und verfügbarem AWS Zugriff auf unterschiedliche Weise konfigurieren. Auswahlmöglichkeiten zu allen primären Authentifizierungsmethoden sowie Anleitungen zur Konfiguration dieser Methode für das SDK finden Sie unter [Authentifizierung und Zugriff](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) im *AWS SDKs Referenzhandbuch zu Tools.* 

## Verwenden von Anmeldeinformationen für die Konsole
<a name="using-con-creds"></a>

Für die lokale Entwicklung empfehlen wir neuen Benutzern, ihre vorhandenen Anmeldedaten für die AWS Management Console für den programmgesteuerten Zugriff auf Dienste zu AWS verwenden. AWS Generiert nach einem browserbasierten Authentifizierungsablauf temporäre Anmeldeinformationen, die in allen lokalen Entwicklungstools wie der AWS CLI AWS -Tools für PowerShell und AWS SDKs funktionieren. Diese Funktion vereinfacht die Konfiguration und Verwaltung von AWS CLI-Anmeldeinformationen, insbesondere wenn Sie die interaktive Authentifizierung der Verwaltung von langfristigen Zugriffsschlüsseln vorziehen.

Wenn Sie diese Methode wählen, folgen Sie den Anweisungen, um sich mit Konsolenanmeldedaten über die AWS CLI anzumelden. Weitere Informationen finden Sie unter [Anmeldung für die AWS lokale Entwicklung mit Konsolenanmeldedaten](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sign-in.html). 

Nach der Einrichtung mit AWS CLI [verwendet die standardmäßige Anbieterkette für Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/credproviders.html#credproviders-default-credentials-provider-chain) automatisch das von der AWS CLI zwischengespeicherte Anmeldetoken, um Anfragen zu stellen. 

## Verwenden von IAM Identity Center
<a name="using-iam-id-cent"></a>

Diese Methode umfasst die Installation von, AWS CLI um die Konfiguration zu vereinfachen und sich regelmäßig beim AWS Zugriffsportal anzumelden. 

 Wenn Sie sich für diese Methode entscheiden, führen Sie das Verfahren für die [IAM Identity Center-Authentifizierung](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch durch.* Danach sollte Ihre Umgebung die folgenden Elemente enthalten:
+ Die AWS CLI, mit der Sie eine AWS Access-Portal-Sitzung starten, bevor Sie Ihre Anwendung ausführen.
+ Eine [gemeinsam genutzte AWS`config` Datei](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) mit einem `[default]` Profil mit einer Reihe von Konfigurationswerten, auf die vom SDK aus verwiesen werden kann. Informationen zum Speicherort dieser Datei finden Sie unter [Speicherort der gemeinsam genutzten Dateien](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) im Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch*.
+  Die gemeinsam genutzte `config` Datei legt die [https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html](https://docs.aws.amazon.com/sdkref/latest/guide/feature-region.html)Einstellung fest. Dies legt die Standardeinstellung AWS-Region fest, die das SDK für AWS Anfragen verwendet. Diese Region wird für SDK-Dienstanforderungen verwendet, für die keine zu verwendende Region angegeben ist. 
+  Das SDK verwendet die [Konfiguration des SSO-Token-Anbieters](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html#feature-sso-credentials-profile) des Profils, um Anmeldeinformationen abzurufen, bevor Anfragen an gesendet AWS werden. Der `sso_role_name` Wert, bei dem es sich um eine IAM-Rolle handelt, die mit einem IAM Identity Center-Berechtigungssatz verbunden ist, sollte den Zugriff auf die in Ihrer AWS-Services Anwendung verwendeten Rollen ermöglichen.

  Die folgende `config` Beispieldatei zeigt ein Standardprofil, das mit der Konfiguration des SSO-Token-Anbieters eingerichtet wurde. Die `sso_session` Einstellung des Profils bezieht sich auf den genannten [`sso-session`Abschnitt](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#section-session). Der `sso-session` Abschnitt enthält Einstellungen zum Initiieren einer AWS Access-Portal-Sitzung.

  ```
  [default]
  sso_session = my-sso
  sso_account_id = 111122223333
  sso_role_name = SampleRole
  region = us-east-1
  output = json
  
  [sso-session my-sso]
  sso_region = us-east-1
  sso_start_url = https://provided-domain.awsapps.com/start
  sso_registration_scopes = sso:account:access
  ```

Für die Verwendung der IAM Identity Center-Authentifizierung müssen Ihrer Anwendung AWS SDK für C\$1\$1 keine zusätzlichen Pakete (wie `SSO` und`SSOOIDC`) hinzugefügt werden.

### Starten Sie eine AWS Access-Portal-Sitzung
<a name="accessportal"></a>

Bevor Sie eine Zugriffsanwendung ausführen AWS-Services, benötigen Sie eine aktive AWS Access-Portal-Sitzung, damit das SDK die IAM Identity Center-Authentifizierung zur Auflösung von Anmeldeinformationen verwenden kann. Abhängig von Ihrer konfigurierten Sitzungsdauer läuft Ihr Zugriff irgendwann ab und das SDK wird auf einen Authentifizierungsfehler stoßen. Um sich beim AWS Zugriffsportal anzumelden, führen Sie den folgenden Befehl in der aus AWS CLI.

```
aws sso login
```

Da Sie ein Standardprofil eingerichtet haben, müssen Sie den Befehl nicht mit einer `--profile`-Option aufrufen. Wenn die Konfiguration Ihres SSO-Token-Anbieters ein benanntes Profil verwendet, lautet der Befehl `aws sso login --profile named-profile`.

Führen Sie den folgenden AWS CLI Befehl aus, um zu testen, ob Sie bereits eine aktive Sitzung haben.

```
aws sts get-caller-identity
```

In der Antwort auf diesen Befehl sollten das in der freigegebenen `config`-Datei konfigurierte IAM-Identity-Center-Konto und der Berechtigungssatz angegeben werden.

**Anmerkung**  
Wenn Sie bereits über eine aktive AWS Access-Portal-Sitzung verfügen und diese ausführen`aws sso login`, müssen Sie keine Anmeldeinformationen angeben.   
Beim Anmeldevorgang werden Sie möglicherweise aufgefordert, den AWS CLI Zugriff auf Ihre Daten zu gewähren. Da AWS CLI das auf dem SDK für Python aufbaut, können Berechtigungsnachrichten Variationen des `botocore` Namens enthalten.

## Weitere Informationen zur Authentifizierung
<a name="credother"></a>

Menschliche Benutzer, auch bekannt als *menschliche Identitäten,* sind die Personen, Administratoren, Entwickler, Betreiber und Verbraucher Ihrer Anwendungen. Sie benötigen eine Identität, um auf Ihre AWS Umgebungen und Anwendungen zugreifen zu können. Menschliche Benutzer, die Mitglieder Ihres Unternehmens sind, werden auch als *Mitarbeiteridentitäten* bezeichnet, d. h. Sie, der Entwickler. Verwenden Sie beim Zugriff AWS temporäre Anmeldeinformationen. Sie können einen Identitätsanbieter für Ihre menschlichen Benutzer verwenden, um Verbundzugriff auf AWS Konten zu ermöglichen, indem Sie Rollen übernehmen, die temporäre Anmeldeinformationen bereitstellen. Für eine zentralisierte Zugriffsverwaltung empfehlen wir Ihnen, AWS IAM Identity Center (IAM Identity Center) zu verwenden, um den Zugriff auf Ihre Konten und die Berechtigungen innerhalb dieser Konten zu verwalten. Weitere Alternativen finden Sie im Folgenden:
+ Weitere Informationen zu bewährten Methoden finden Sie unter [Bewährte Methoden für die Sicherheit in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) im *IAM-Benutzerhandbuch*.
+ Informationen zum Erstellen kurzfristiger AWS Anmeldeinformationen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) im *IAM-Benutzerhandbuch*.
+ Weitere Informationen zu anderen Anbietern von AWS SDK für C\$1\$1 Anmeldeinformationen finden Sie unter [Standardisierte Anmeldeinformationsanbieter im Referenzhandbuch AWS](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html) *SDKs und im Tools-Referenzhandbuch*.

# Den AWS SDK für C\$1\$1 aus dem Quellcode holen
<a name="sdk-from-source"></a>

Sie können das AWS SDK für C\$1\$1 aus Ihrem Code heraus verwenden, indem Sie das SDK zuerst aus dem Quellcode erstellen und es dann lokal installieren. 


**Prozessübersicht**  

| Allgemeiner Prozess  | Detaillierter Prozess | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sdk-for-cpp/v1/developer-guide/sdk-from-source.html) |  Erstellen Sie zuerst das SDK aus dem Quellcode und installieren Sie es.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sdk-for-cpp/v1/developer-guide/sdk-from-source.html) | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sdk-for-cpp/v1/developer-guide/sdk-from-source.html) |  Entwickeln Sie dann mithilfe des SDK Ihre eigene Anwendung.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/sdk-for-cpp/v1/developer-guide/sdk-from-source.html)  | 

# Das unter AWS SDK für C\$1\$1 Windows erstellen
<a name="setup-windows"></a>

Um das einzurichten AWS SDK für C\$1\$1, können Sie das SDK entweder selbst direkt aus der Quelle erstellen oder die Bibliotheken mithilfe eines Paketmanagers herunterladen.



Die SDK-Quelle ist nach Diensten in einzelne Pakete aufgeteilt. Die Installation des gesamten SDK kann bis zu einer Stunde dauern. Wenn Sie nur die spezifische Teilmenge der Dienste installieren, die Ihr Programm verwendet, verringert sich die Installationszeit und auch die Festplattengröße. Um auswählen zu können, welche Dienste installiert werden sollen, müssen Sie den Paketnamen der einzelnen Dienste kennen, die Ihr Programm verwendet. Die Liste der Paketverzeichnisse finden Sie unter [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp)on GitHub. Der Paketname ist das Suffix des Verzeichnisnamens für den Dienst. 

```
aws-sdk-cpp\aws-cpp-sdk-<packageName>   # Repo directory name and packageName
aws-sdk-cpp\aws-cpp-sdk-s3              # Example: Package name is s3
```

## Voraussetzungen
<a name="prerequisites"></a>

Sie benötigen mindestens 4 GB RAM, um einige der größeren AWS Clients zu erstellen. Das SDK kann möglicherweise aufgrund unzureichenden Speichers nicht auf den Amazon EC2 EC2-Instance-Typen *t2.micro*, *t2.small* und anderen kleinen Instance-Typen aufbauen.

Um das verwenden zu können AWS SDK für C\$1\$1, benötigen Sie eine der folgenden Optionen:
+ Microsoft Visual Studio 2015 oder höher, 
+  GNU Compiler Collection (GCC) 4.9 oder höher oder
+  Clang 3.3 oder höher.

## Das SDK für Windows mit curl erstellen
<a name="build-curl-id"></a>

Unter Windows wurde das SDK mit [WinHTTP als Standard-HTTP-Client](https://msdn.microsoft.com/en-us/library/windows/desktop/aa382925%28v=vs.85%29.aspx) erstellt. WinHTTP 1.0 unterstützt jedoch kein bidirektionales HTTP/2-Streaming, das für einige Anwendungen AWS-Services wie Amazon Transcribe und Amazon Lex erforderlich ist. Daher ist es manchmal notwendig, die Curl-Unterstützung mit dem SDK aufzubauen. Eine Übersicht aller verfügbaren Curl-Download-Optionen finden Sie unter [curl-Releases](https://curl.se/download.html) und -Downloads. Eine Methode zum Erstellen des SDK mit Curl-Unterstützung ist die folgende:

**Um das SDK mit Unterstützung für die Curl-Bibliothek zu erstellen**

1. Navigieren Sie zu [curl für Windows](https://curl.se/windows/) und laden Sie das curl-Binärpaket für Microsoft Windows herunter. 

1. Entpacken Sie das Paket in einen Ordner auf Ihrem Computer, z. B. `C:\curl` 

1. Navigieren Sie zu den [CA-Zertifikaten, die aus Mozilla extrahiert wurden](http://curl.haxx.se/docs/caextract.html), und laden Sie die `cacert.pem` Datei herunter. Diese Privacy Enhanced Mail (PEM) -Datei enthält ein Bündel gültiger digitaler Zertifikate, mit denen die Echtheit sicherer Websites überprüft wird. Die Zertifikate werden von Zertifizierungsstellen (CA) wie Verisign GlobalSign vertrieben. 

1. Verschieben Sie die `cacert.pem` Datei in den `bin` Unterordner, den Sie in einem vorherigen Schritt entpackt haben, z. B. `C:\curl\bin` Benennen Sie die Datei um als. `curl-ca-bundle.crt` 

Außerdem muss die Microsoft Build Engine (MSBuild) in der Lage sein, die Curl `dll` im folgenden Verfahren zu finden. Daher sollten Sie den Pfad zum `bin` Ordner curl zu Ihrer `PATH` Windows-Umgebungsvariablen hinzufügen, z. B. `set PATH=%PATH%;C:\curl\bin` Sie müssen dies jedes Mal hinzufügen, wenn Sie eine neue Befehlszeile öffnen, um das SDK zu erstellen. Alternativ können Sie die Umgebungsvariable global in Ihren Windows-Systemeinstellungen festlegen, sodass die Einstellung gespeichert wird.

Wenn Sie *das SDK mit dem folgenden Verfahren aus dem Quellcode erstellen*, finden Sie in Schritt 5 (Generieren von Build-Dateien) die erforderliche Befehlssyntax, um Curl in Ihr SDK einzubauen. 

Wenn Sie Ihren Code schreiben, müssen Sie `caFile` [AWS SDK for C\$1\$1 C\$1\$1-Serviceclients im Code konfigurieren](client-config.md) den Speicherort Ihrer Zertifikatsdatei angeben. Ein Beispiel für die Verwendung von Amazon Transcribe finden Sie [https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/transcribe-streaming](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/transcribe-streaming)im *AWS Codebeispiel-Repository* unter. GitHub

## Das SDK aus dem Quellcode erstellen
<a name="setup-windows-from-source"></a>

Sie können das SDK mithilfe von Befehlszeilentools aus dem Quellcode erstellen. Mit dieser Methode können Sie Ihren SDK-Build anpassen. Informationen zu den verfügbaren Optionen finden Sie unter [CMake Parameter](cmake-params.md). Es gibt drei Hauptschritte. Zunächst erstellen Sie die Dateien mit CMake. Zweitens erstellen Sie MSBuild damit die SDK-Binärdateien, die mit Ihrem Betriebssystem und der Build-Toolchain funktionieren. Drittens installieren oder kopieren Sie die Binärdateien an den richtigen Ort auf dem Entwicklungscomputer.

**Um das SDK aus dem Quellcode zu erstellen**

1. Installieren Sie [CMake](https://cmake.org/)(mindestens Version 3.13) und die entsprechenden Build-Tools für Ihre Plattform. Es wird empfohlen, es `cmake` zu Ihrem `PATH` hinzuzufügen. Um Ihre Version von zu überprüfen CMake, öffnen Sie eine Eingabeaufforderung und führen Sie den Befehl aus **cmake --version**

1. Navigieren Sie in einer Befehlszeile zu einem Ordner, in dem Sie das SDK speichern möchten.

1. Holen Sie sich den neuesten Quellcode.

   Version 1.11 verwendet Git-Submodule, um externe Abhängigkeiten zu umschließen. Dazu gehören die im [Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch* beschriebenen CRT-Bibliotheken](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html).

   Laden Sie die SDK-Quelle herunter oder klonen Sie sie von [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp): GitHub
   + Mit Git klonen: HTTPS

     ```
     git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
     ```
   + Mit Git klonen: SSH

     ```
     git clone --recurse-submodules git@github.com:aws/aws-sdk-cpp.git
     ```

1. Wir empfehlen, die generierten Build-Dateien außerhalb des SDK-Quellverzeichnisses zu speichern. Erstellen Sie ein neues Verzeichnis, in dem die Build-Dateien gespeichert werden, und navigieren Sie zu diesem Ordner.

   ```
   mkdir sdk_build
   cd sdk_build
   ```

1. Generieren Sie die Build-Dateien, indem Sie Folgendes ausführen`cmake`. Geben Sie in der `cmake` Befehlszeile an, ob eine *Debug* - oder *Release-Version* erstellt werden soll. Wählen Sie `Debug` in diesem Verfahren aus, ob Sie eine Debug-Konfiguration Ihres Anwendungscodes ausführen möchten. Wählen Sie `Release` in diesem Verfahren aus, ob Sie eine Release-Konfiguration Ihres Anwendungscodes ausführen möchten. Für Windows ist der SDK-Installationsort in der Regel`\Program Files (x86)\aws-cpp-sdk-all\`. Befehlssyntax: 

   `{path to cmake if not in PATH} {path to source location of aws-sdk-cpp} -DCMAKE_BUILD_TYPE=[Debug | Release] -DCMAKE_PREFIX_PATH={path to install destination}`

   Weitere Möglichkeiten, die Build-Ausgabe zu ändern, finden Sie unter [CMakeParameter](cmake-params.md).

   Gehen Sie wie folgt vor, um die Build-Dateien zu generieren:
   + **Generieren Sie Build-Dateien (alle AWS-Services)**: Um das gesamte SDK zu erstellen, führen Sie cmake aus und geben Sie an, ob eine *Debug* - oder *Release-Version* erstellt werden soll. Beispiel:

     ```
     cmake "..\aws-sdk-cpp" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
     ```

     
   + **Generieren Sie Build-Dateien (Teilmenge AWS-Services)**: Um nur einen bestimmten Dienst oder ein bestimmtes Servicepaket (e) für das SDK zu erstellen, fügen Sie den CMake [BUILD\$1ONLY](cmake-params.md#cmake-build-only) Parameter hinzu, wobei die Dienstnamen durch Semikolons getrennt sind. Das folgende Beispiel erstellt nur das Amazon S3 S3-Servicepaket:

     ```
     cmake ..\aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DBUILD_ONLY="s3" -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
     ```
   + **Generieren Sie Build-Dateien (mit Curl)**: Nachdem Sie die Curl-Voraussetzungen erfüllt haben, sind drei zusätzliche cmake-Befehlszeilenoptionen erforderlich, um die Curl-Unterstützung in das SDK aufzunehmen:[FORCE\$1CURL](cmake-params.md#cmake-force-curl), und. [CURL\$1INCLUDE\$1DIR](cmake-params.md#cmake-curl-include-dir) [CURL\$1LIBRARY](cmake-params.md#cmake-curl-library) Beispiel: 

     ```
     cmake ..\aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DFORCE_CURL=ON -DCURL_INCLUDE_DIR='C:/curl/include'
           -DCURL_LIBRARY='C:/curl/lib/libcurl.dll.a' -DCMAKE_PREFIX_PATH="C:\Program Files (x86)\aws-cpp-sdk-all"
     ```
**Anmerkung**  
Wenn die Fehlermeldung Fehler beim Erstellen von Bibliotheken von Drittanbietern angezeigt wird, überprüfen Sie Ihre Version von, indem Sie den Befehl ausführen. CMake **cmake --version** Sie müssen CMake mindestens Version 3.13 verwenden. 

1. Erstellen Sie die SDK-Binärdateien. Wenn Sie das gesamte SDK erstellen, kann dieser Schritt eine Stunde oder länger dauern. Befehlssyntax: 

   `{path to cmake if not in PATH} --build . --config=[Debug | Release]`

   ```
   cmake --build . --config=Debug
   ```
**Anmerkung**  
Wenn Sie auf den Fehler stoßen Die Codeausführung kann nicht fortgesetzt werden... Die DLL wurde nicht gefunden. Durch eine Neuinstallation des Programms kann dieses Problem möglicherweise behoben werden.“ , wiederholen Sie den `cmake` Befehl erneut.

1. Öffnen Sie eine Befehlszeile mit **Administratorrechten**, um das SDK mithilfe des `CMAKE_PREFIX_PATH` Parameters an dem zuvor angegebenen Speicherort zu installieren. Befehlssyntax: 

   `{path to cmake if not in PATH} --install . --config=[Debug | Release]`

   ```
   cmake --install . --config=Debug
   ```

## Bauen für Android unter Windows
<a name="building-for-android"></a>

Um für Android zu bauen, fügen Sie `-DTARGET_ARCH=ANDROID` es Ihrer `cmake` Befehlszeile hinzu. Die AWS SDK für C\$1\$1 enthält eine CMake Toolchain-Datei, die alles enthält, was Sie benötigen, indem sie auf die entsprechenden Umgebungsvariablen () `ANDROID_NDK` verweist.

Um das SDK for Android unter Windows zu erstellen, müssen Sie es über eine Visual Studio-Entwickler-Befehlszeile (2015 oder höher) ausführen`cmake`. Außerdem müssen Sie NMAKE [NMAKE](https://docs.microsoft.com/en-us/cpp/build/reference/nmake-reference?view=msvc-160) installiert haben und die Befehle **`git`**müssen sich **`patch`**in Ihrem Pfad befinden. Wenn du Git auf einem Windows-System installiert hast, findest du es höchstwahrscheinlich **`patch`**in einem Geschwisterverzeichnis (). `.../Git/usr/bin/` Sobald du diese Anforderungen überprüft hast, ändert sich deine `cmake` Befehlszeile geringfügig, sodass du NMAKE verwendest.

```
cmake -G "NMake Makefiles" `-DTARGET_ARCH=ANDROID` <other options> ..
```

NMAKE wird seriell erstellt. Um schneller zu bauen, empfehlen wir Ihnen, JOM als Alternative zu NMAKE zu installieren und dann den `cmake` Aufruf wie folgt zu ändern:

```
cmake -G "NMake Makefiles JOM" `-DTARGET_ARCH=ANDROID` <other options> ..
```

Eine Beispielanwendung finden Sie unter [Eine Android-Anwendung einrichten mit AWS SDK für C\$1\$1](https://aws.amazon.com/blogs/developer/setting-up-an-android-application-with-aws-sdk-for-c/)

# Aufbau des AWS SDK für C\$1\$1 auf Linux/macOS
<a name="setup-linux"></a>

Um das einzurichten AWS SDK für C\$1\$1, können Sie das SDK entweder selbst direkt aus der Quelle erstellen oder die Bibliotheken mit einem Paketmanager herunterladen.



Die SDK-Quelle ist nach Diensten in einzelne Pakete aufgeteilt. Die Installation des gesamten SDK kann bis zu einer Stunde dauern. Wenn Sie nur die spezifische Teilmenge der Dienste installieren, die Ihr Programm verwendet, verringert sich die Installationszeit und auch die Festplattengröße. Um auswählen zu können, welche Dienste installiert werden sollen, müssen Sie den Paketnamen der einzelnen Dienste kennen, die Ihr Programm verwendet. Die Liste der Paketverzeichnisse finden Sie unter [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp)on GitHub. Der Paketname ist das Suffix des Verzeichnisnamens für den Dienst. 

```
aws-sdk-cpp\aws-cpp-sdk-<packageName>   # Repo directory name and packageName
aws-sdk-cpp\aws-cpp-sdk-s3              # Example: Package name is s3
```

## Voraussetzungen
<a name="prerequisites"></a>

Sie benötigen mindestens 4 GB RAM, um einige der größeren AWS Clients zu erstellen. Das SDK kann möglicherweise aufgrund unzureichenden Speichers nicht auf den Amazon EC2 EC2-Instance-Typen *t2.micro*, *t2.small* und anderen kleinen Instance-Typen aufbauen.

Um das verwenden zu können AWS SDK für C\$1\$1, benötigen Sie eine der folgenden Optionen:
+  GNU Compiler Collection (GCC) 4.9 oder höher oder
+  Clang 3.3 oder höher.

## Zusätzliche Anforderungen für Linux-Systeme
<a name="additional-requirements-for-linux-systems"></a>

Sie benötigen die Header-Dateien (`-dev`Pakete) für`libcurl`,`libopenssl`, `libuuid``zlib`, und optional `libpulse` für den Amazon Polly Polly-Support. Sie können die Pakete mithilfe des Paketmanagers Ihres Systems finden.

**Um die Pakete auf *Debian/Ubuntu-basierten* Systemen zu installieren**
+ 

  ```
  sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev
  ```

**Um die Pakete auf *Linux/Redhat/Fedora/CentOSAmazon-basierten Systemen* zu installieren**
+ 

  ```
  sudo yum install libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel
  ```

## Das SDK aus dem Quellcode erstellen
<a name="setup-linux-from-source"></a>

Als Alternative zur Verwendung von vcpkg können Sie das SDK mithilfe von Befehlszeilentools aus dem Quellcode erstellen. Mit dieser Methode können Sie Ihren SDK-Build anpassen. Informationen zu den verfügbaren Optionen finden Sie unter [CMake Parameter](cmake-params.md).

**Um das SDK aus dem Quellcode zu erstellen**

1. Installieren Sie [CMake](https://cmake.org/)(mindestens Version 3.13) und die entsprechenden Build-Tools für Ihre Plattform. Es wird empfohlen, es `cmake` zu Ihrem `PATH` hinzuzufügen. Um Ihre Version von zu überprüfen CMake, öffnen Sie eine Eingabeaufforderung und führen Sie den Befehl aus **cmake --version**

1. Navigieren Sie in einer Befehlszeile zu einem Ordner, in dem Sie das SDK speichern möchten.

1. Holen Sie sich den neuesten Quellcode.

   Version 1.11 verwendet Git-Submodule, um externe Abhängigkeiten zu umschließen. Dazu gehören die im [Referenzhandbuch *AWS SDKs und im Tools-Referenzhandbuch* beschriebenen CRT-Bibliotheken](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html).

   Laden Sie die SDK-Quelle herunter oder klonen Sie sie von [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp): GitHub
   + Mit Git klonen: HTTPS

     ```
     git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
     ```
   + Mit Git klonen: SSH

     ```
     git clone --recurse-submodules git@github.com:aws/aws-sdk-cpp.git
     ```

1. Wir empfehlen, die generierten Build-Dateien außerhalb des SDK-Quellverzeichnisses zu speichern. Erstellen Sie ein neues Verzeichnis, in dem die Build-Dateien gespeichert werden, und navigieren Sie zu diesem Ordner.

   ```
   mkdir sdk_build
   cd sdk_build
   ```

1. Generieren Sie die Build-Dateien, indem Sie Folgendes ausführen`cmake`. Geben Sie in der `cmake` Befehlszeile an, ob eine *Debug* - oder *Release-Version* erstellt werden soll. Wählen Sie `Debug` in diesem Verfahren aus, ob Sie eine Debug-Konfiguration Ihres Anwendungscodes ausführen möchten. Wählen Sie `Release` in diesem Verfahren aus, ob Sie eine Release-Konfiguration Ihres Anwendungscodes ausführen möchten. Befehlssyntax: 

   `{path to cmake if not in PATH} {path to source location of aws-sdk-cpp} -DCMAKE_BUILD_TYPE=[Debug | Release] -DCMAKE_PREFIX_PATH={path to install} -DCMAKE_INSTALL_PREFIX={path to install}`

   Weitere Möglichkeiten, die Build-Ausgabe zu ändern, finden Sie unter [CMakeParameter](cmake-params.md).
**Anmerkung**  
Wenn Sie auf einem Mac mit einem Dateisystem ohne Berücksichtigung der Groß- und Kleinschreibung kompilieren, überprüfen Sie die Ausgabe des `pwd` Befehls in dem Verzeichnis, in dem Sie den Build ausführen. Stellen Sie sicher, dass bei der `pwd` Ausgabe Groß- und Kleinschreibung für Verzeichnisnamen wie und verwendet wird. `/Users` `Documents`

   Gehen Sie wie folgt vor, um die Build-Dateien zu generieren:
   + **Generieren Sie Build-Dateien (alle AWS-Services)**: Um das gesamte SDK zu erstellen, führen Sie cmake aus und geben Sie an, ob eine *Debug* - oder *Release-Version* erstellt werden soll. Beispiel:

     ```
     cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/
     ```

     
   + **Generieren Sie Build-Dateien (Teilmenge AWS-Services)**: Um nur einen bestimmten Dienst oder ein bestimmtes Servicepaket (e) für das SDK zu erstellen, fügen Sie den CMake [BUILD\$1ONLY](cmake-params.md#cmake-build-only) Parameter hinzu, wobei die Dienstnamen durch Semikolons getrennt sind. Das folgende Beispiel erstellt nur das Amazon S3 S3-Servicepaket:

     ```
     cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_ONLY="s3"
     ```
**Anmerkung**  
Wenn Sie die Fehlermeldung Fehler beim Erstellen von Bibliotheken von Drittanbietern erhalten, überprüfen Sie Ihre Version von, CMake indem Sie Folgendes ausführen**cmake --version**. Sie müssen CMake mindestens Version 3.13 verwenden. 

1. Erstellen Sie die SDK-Binärdateien. Wenn Sie das gesamte SDK erstellen, kann der Vorgang eine Stunde oder länger dauern. 

   ```
   cmake --build . --config=Debug
   ```

1. Installieren Sie das SDK. Je nachdem, an welchem Ort Sie die Installation vorgenommen haben, müssen Sie möglicherweise Ihre Rechte erweitern.

   ```
   cmake --install . --config=Debug
   ```

## Bauen für Android unter Linux
<a name="building-for-android"></a>

Um für Android zu bauen, fügen Sie `-DTARGET_ARCH=ANDROID` es Ihrer `cmake` Befehlszeile hinzu. Die AWS SDK für C\$1\$1 enthält eine CMake Toolchain-Datei, die alles enthält, was Sie benötigen, indem sie auf die entsprechenden Umgebungsvariablen () `ANDROID_NDK` verweist. Eine Beispielanwendung finden Sie unter [Einrichten einer Android-Anwendung](https://aws.amazon.com/blogs/developer/setting-up-an-android-application-with-aws-sdk-for-c/) mit AWS SDK für C\$1\$1

# Erstellen einer einfachen Anwendung mit dem AWS SDK for C\$1\$1
<a name="build-cmake"></a>

 [CMake](https://cmake.org/)ist ein Build-Tool, mit dem Sie die Abhängigkeiten Ihrer Anwendung verwalten und Makefiles erstellen können, die für die Plattform geeignet sind, auf der Sie aufbauen. Sie können es verwenden CMake , um Projekte mit dem zu erstellen und zu erstellen. AWS SDK für C\$1\$1

In diesem Beispiel werden die Amazon S3 S3-Buckets gemeldet, die Sie besitzen. Für dieses Beispiel ist es nicht erforderlich, einen Amazon S3 S3-Bucket in Ihrem AWS Konto zu haben, aber es ist weitaus interessanter, wenn Sie mindestens einen haben. Falls Sie noch [keinen Bucket haben, finden Sie weitere Informationen unter Bucket erstellen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) im *Amazon Simple Storage Service-Benutzerhandbuch*.

## Schritt 1: Schreiben Sie den Code
<a name="setting-up-a-cmake-project"></a>

Dieses Beispiel besteht aus einem Ordner mit einer Quelldatei (`hello_s3.cpp`) und einer `CMakeLists.txt` Datei. Das Programm verwendet Amazon S3, um Speicher-Bucket-Informationen zu melden. Dieser Code ist auch im [AWS Codebeispiel-Repository](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/s3/hello_s3) unter verfügbar GitHub. 

Sie können viele Optionen in einer `CMakeLists.txt` Build-Konfigurationsdatei festlegen. Weitere Informationen finden Sie im [CMakeTutorial](https://cmake.org/cmake-tutorial/) auf der CMake Website. 

**Anmerkung**  
Deep Dive: Einstellung `CMAKE_PREFIX_PATH`  
Standardmäßig ist das AWS SDK für C\$1\$1 auf MacOS, Linux, Android und anderen Nicht-Windows-Plattformen in `/usr/local` und unter Windows installiert. `\Program Files (x86)\aws-cpp-sdk-all`  
Wenn Sie das AWS SDK an diesen Standardspeicherorten installieren, findet es CMake automatisch die erforderlichen Ressourcen. Wenn Sie das AWS SDK jedoch an einem benutzerdefinierten Speicherort installieren, müssen Sie angeben, CMake wo sich die folgenden Ressourcen befinden, die sich aus der Erstellung des SDK ergeben:  
`AWSSDKConfig.cmake`: Eine Konfigurationsdatei, die erklärt, CMake wie Sie die AWS SDK-Bibliotheken in Ihrem Projekt finden und verwenden können. Ohne diese Datei CMake können Sie keine AWS SDK-Header-Dateien finden, keine Links zu AWS SDK-Bibliotheken herstellen oder die richtigen Compiler-Flags einrichten.
(für Version 1.8 und früher) Der Speicherort der Abhängigkeiten:`aws-c-event-stream`,, `aws-c-common` `aws-checksums`
So legen Sie einen benutzerdefinierten Installationspfad fest:  

```
cmake -DCMAKE_PREFIX_PATH=/path/to/your/aws-sdk-installation /path/to/project/you/are/building
```
Wenn Sie keine benutzerdefinierte Installation festlegen`CMAKE_PREFIX_PATH`, schlägt Ihr Build fehl und es werden Fehler wie „Konnte nicht gefunden AWSSDK“ angezeigt, wenn CMake versucht wird, `find_package(AWSSDK)` in Ihrem zu verarbeiten`CMakeLists.txt`.

**Anmerkung**  
Tiefer Einblick: Windows-Runtime-Bibliotheken  
Um Ihr Programm auszuführen, DLLs sind mehrere im ausführbaren Verzeichnis Ihres Programms erforderlich:`aws-c-common.dll`,,`aws-c-event-stream.dll`,`aws-checksums.dll`,`aws-cpp-sdk-core.dll`, sowie alle spezifischen, auf den Komponenten Ihres Programms DLLs basierenden Daten (dieses Beispiel erfordert auch, `aws-cpp-sdk-s3` weil es Amazon S3 verwendet). Die zweite `if` Anweisung in der `CMakeLists.txt` Datei kopiert diese Bibliotheken vom Installationsverzeichnis in das Verzeichnis der ausführbaren Datei, um diese Anforderung zu erfüllen. `AWSSDK_CPY_DYN_LIBS`ist ein durch definiertes Makro AWS SDK für C\$1\$1 , das die SDKs DLLs vom Installationsverzeichnis in das Verzeichnis der ausführbaren Datei Ihres Programms kopiert. Wenn sich diese Dateien nicht im Verzeichnis der ausführbaren Datei DLLs befinden, treten Laufzeitausnahmen wie „Datei nicht gefunden“ auf. Überprüfen Sie diesen Teil der `CMakeLists.txt` Datei auf notwendige Änderungen für Ihre spezielle Umgebung, falls Sie auf diese Fehler stoßen.

**Um den Ordner und die Quelldateien zu erstellen**

1. Erstellen Sie ein `hello_s3` and/or Verzeichnisprojekt für Ihre Quelldateien.
**Anmerkung**  
Um dieses Beispiel in Visual Studio zu vervollständigen: Wählen Sie **Neues Projekt erstellen** und dann **CMake Projekt**. Benennen Sie das Projekt `hello_s3`. Dieser Projektname wird in der `CMakeLists.txt` Datei verwendet.

1. Fügen Sie in diesem Ordner eine `hello_s3.cpp` Datei hinzu, die den folgenden Code enthält, der die Amazon S3 S3-Buckets meldet, die Sie besitzen.

   ```
   #include <aws/core/Aws.h>
   #include <aws/s3/S3Client.h>
   #include <iostream>
   #include <aws/core/auth/AWSCredentialsProviderChain.h>
   using namespace Aws;
   using namespace Aws::Auth;
   
   /*
    *  A "Hello S3" starter application which initializes an Amazon Simple Storage Service (Amazon S3) client
    *  and lists the Amazon S3 buckets in the selected region.
    *
    *  main function
    *
    *  Usage: 'hello_s3'
    *
    */
   
   int main(int argc, char **argv) {
       Aws::SDKOptions options;
       // Optionally change the log level for debugging.
   //   options.loggingOptions.logLevel = Utils::Logging::LogLevel::Debug;
       Aws::InitAPI(options); // Should only be called once.
       int result = 0;
       {
           Aws::Client::ClientConfiguration clientConfig;
           // Optional: Set to the AWS Region (overrides config file).
           // clientConfig.region = "us-east-1";
                  
           // You don't normally have to test that you are authenticated. But the S3 service permits anonymous requests, thus the s3Client will return "success" and 0 buckets even if you are unauthenticated, which can be confusing to a new user. 
           auto provider = Aws::MakeShared<DefaultAWSCredentialsProviderChain>("alloc-tag");
           auto creds = provider->GetAWSCredentials();
           if (creds.IsEmpty()) {
               std::cerr << "Failed authentication" << std::endl;
           }
   
           Aws::S3::S3Client s3Client(clientConfig);
           auto outcome = s3Client.ListBuckets();
   
           if (!outcome.IsSuccess()) {
               std::cerr << "Failed with error: " << outcome.GetError() << std::endl;
               result = 1;
           } else {
               std::cout << "Found " << outcome.GetResult().GetBuckets().size()
                         << " buckets\n";
               for (auto &bucket: outcome.GetResult().GetBuckets()) {
                   std::cout << bucket.GetName() << std::endl;
               }
           }
       }
   
       Aws::ShutdownAPI(options); // Should only be called once.
       return result;
   }
   ```

1. Fügen Sie eine `CMakeLists.txt` Datei hinzu, die den Namen Ihres Projekts, die ausführbaren Dateien, die Quelldateien und die verknüpften Bibliotheken angibt. 

   ```
   # Set the minimum required version of CMake for this project.
   cmake_minimum_required(VERSION 3.13)
   
   # Set the AWS service components used by this project.
   set(SERVICE_COMPONENTS s3)
   
   # Set this project's name.
   project("hello_s3")
   
   # Set the C++ standard to use to build this target.
   # At least C++ 11 is required for the AWS SDK for C++.
   set(CMAKE_CXX_STANDARD 11)
   
   # Use the MSVC variable to determine if this is a Windows build.
   set(WINDOWS_BUILD ${MSVC})
   
   if (WINDOWS_BUILD) # Set the location where CMake can find the installed libraries for the AWS SDK.
       string(REPLACE ";" "/aws-cpp-sdk-all;" SYSTEM_MODULE_PATH "${CMAKE_SYSTEM_PREFIX_PATH}/aws-cpp-sdk-all")
       list(APPEND CMAKE_PREFIX_PATH ${SYSTEM_MODULE_PATH})
   endif ()
   
   # Find the AWS SDK for C++ package.
   find_package(AWSSDK REQUIRED COMPONENTS ${SERVICE_COMPONENTS})
   
   if (WINDOWS_BUILD AND AWSSDK_INSTALL_AS_SHARED_LIBS)
       # Copy relevant AWS SDK for C++ libraries into the current binary directory for running and debugging.
   
       # set(BIN_SUB_DIR "/Debug") # if you are building from the command line you may need to uncomment this
       # and set the proper subdirectory to the executables' location.
   
       AWSSDK_CPY_DYN_LIBS(SERVICE_COMPONENTS "" ${CMAKE_CURRENT_BINARY_DIR}${BIN_SUB_DIR})
   endif ()
   
   add_executable(${PROJECT_NAME}
           hello_s3.cpp)
   
   target_link_libraries(${PROJECT_NAME}
           ${AWSSDK_LINK_LIBRARIES})
   ```

## Schritt 2: Erstellen mit CMake
<a name="building-with-cmake"></a>

CMake verwendet die darin enthaltenen Informationen`CMakeLists.txt`, um ein ausführbares Programm zu erstellen.

Wir empfehlen, die Anwendung gemäß den Standardverfahren für Ihre IDE zu erstellen.

**Um die Anwendung über die Befehlszeile zu erstellen**

1. Erstellen Sie ein Verzeichnis, in dem Ihre Anwendung erstellt **`cmake`**werden soll.

   ```
   mkdir my_project_build
   ```

1. Wechseln Sie in das Build-Verzeichnis und führen Sie es **`cmake`**mit dem Pfad zum Quellverzeichnis Ihres Projekts aus.

   ```
   cd my_project_build
   cmake ../
   ```

1. Nachdem Sie Ihr Build-Verzeichnis **`cmake`**generiert haben, können Sie **`make`**(oder **`nmake`**unter Windows) oder MSBUILD (`msbuild ALL_BUILD.vcxproj`oder`cmake --build . --config=Debug`) verwenden, um Ihre Anwendung zu erstellen.

## Schritt 3: Ausführen
<a name="run-app"></a>

Wenn Sie diese Anwendung ausführen, zeigt sie eine Konsolenausgabe an, in der die Gesamtzahl der Amazon S3 S3-Buckets und der Name jedes Buckets aufgeführt sind.

Wir empfehlen, die Anwendung gemäß den Standardmethoden für Ihre IDE auszuführen.

**Anmerkung**  
Denken Sie daran, sich anzumelden\$1 Wenn Sie IAM Identity Center zur Authentifizierung verwenden, denken Sie daran, sich mit dem AWS CLI `aws sso login` folgenden Befehl anzumelden.

**Um das Programm über die Befehlszeile auszuführen**

1. Wechseln Sie in das Debug-Verzeichnis, in dem das Ergebnis des Builds generiert wurde. 

1. Führen Sie das Programm mit dem Namen der ausführbaren Datei aus.

   ```
   hello_s3
   ```

Weitere Beispiele für die AWS SDK für C\$1\$1 Verwendung von finden Sie unter[Geführte Beispiele für Aufrufe AWS-Services mit dem AWS SDK for C\$1\$1](programming-services.md).

# AWS SDK für C\$1\$1 Von einem Paketmanager bekommen
<a name="sdk-from-pm"></a>

**Wichtig**  
Wenn Sie einen Paketmanager wie Homebrew oder vcpkg verwenden:  
Nachdem Sie das SDK for C\$1\$1 auf eine neue Version aktualisiert haben, müssen Sie alle Bibliotheken oder ausführbaren Dateien, die vom SDK abhängen, neu kompilieren.

Um das einzurichten AWS SDK für C\$1\$1, können Sie das SDK entweder selbst direkt aus der Quelle erstellen oder die Bibliotheken mithilfe eines Paketmanagers herunterladen.



Die SDK-Quelle ist nach Diensten in einzelne Pakete aufgeteilt. Die Installation des gesamten SDK kann bis zu einer Stunde dauern. Wenn Sie nur die spezifische Teilmenge der Dienste installieren, die Ihr Programm verwendet, verringert sich die Installationszeit und auch die Festplattengröße. Um auswählen zu können, welche Dienste installiert werden sollen, müssen Sie den Paketnamen der einzelnen Dienste kennen, die Ihr Programm verwendet. Die Liste der Paketverzeichnisse finden Sie unter [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp)on GitHub. Der Paketname ist das Suffix des Verzeichnisnamens für den Dienst. 

```
aws-sdk-cpp\aws-cpp-sdk-<packageName>   # Repo directory name and packageName
aws-sdk-cpp\aws-cpp-sdk-s3              # Example: Package name is s3
```

## Voraussetzungen
<a name="prerequisites"></a>

Sie benötigen mindestens 4 GB RAM, um einige der größeren AWS Clients zu erstellen. Das SDK kann möglicherweise aufgrund unzureichenden Speichers nicht auf den Amazon EC2 EC2-Instance-Typen *t2.micro*, *t2.small* und anderen kleinen Instance-Typen aufbauen.

------
#### [ Linux/macOS ]

Um das AWS SDK für C\$1\$1 auf Linux/macOS verwenden zu können, benötigen Sie eines der folgenden:
+  GNU Compiler Collection (GCC) 4.9 oder höher, oder
+  Clang 3.3 oder höher.

------
#### [ Windows ]

Um das AWS SDK für C\$1\$1 unter Windows verwenden zu können, benötigen Sie eines der folgenden Geräte:
+ Microsoft Visual Studio 2015 oder höher, 
+  GNU Compiler Collection (GCC) 4.9 oder höher oder
+  Clang 3.3 oder höher.

------

## Holen Sie sich das SDK mit vcpkg
<a name="setupwin-with-vcpkg"></a>

**Wichtig**  
Die verfügbare vcpkg-Distribution wird von externen Mitwirkenden unterstützt und nicht über bereitgestellt. AWS Die neueste Version ist immer über die [Installation aus dem](sdk-from-source.md) Quellcode verfügbar.

[vcpkg](https://github.com/Microsoft/vcpkg) ist ein Paketmanager, der von externen Mitwirkenden aktualisiert und verwaltet wird. Beachten Sie, dass dieser Paketmanager nicht über die neueste verfügbare Version von bereitgestellt wird AWS und möglicherweise nicht die neueste verfügbare Version von widerspiegelt. AWS SDK für C\$1\$1 Es gibt eine Verzögerung zwischen dem Zeitpunkt, an dem eine Version veröffentlicht wird, AWS und dem Zeitpunkt, an dem sie über einen externen Paketmanager verfügbar ist. Die neueste Version ist immer verfügbar, wenn sie von der [Quelle aus installiert](sdk-from-source.md) wird.

Sie müssen [vcpkg](https://github.com/Microsoft/vcpkg) auf Ihrem System installieren.
+ Laden Sie [vcpkg herunter und booten Sie es, indem Sie den Anweisungen in der GitHub vcpkg-Readme-Datei](https://github.com/Microsoft/vcpkg) folgen. Ersetzen Sie dabei die folgenden Optionen, wenn Sie dazu aufgefordert werden:
  + 

    Im Rahmen dieser Anweisungen werden Sie aufgefordert, Folgendes einzugeben:

    ```
    .\vcpkg\vcpkg install [packages to install]
    ```

    Um das gesamte SDK zu installieren, geben Sie nur bestimmte Dienste des SDK ein, die installiert werden sollen, `.\vcpkg\vcpkg install "aws-sdk-cpp[*]" --recurse` oder geben Sie an, indem Sie einen Paketnamen in Klammern anhängen, z. B. `.\vcpkg\vcpkg install "aws-sdk-cpp[s3, ec2]" --recurse` 

  In der Ausgabe werden Meldungen angezeigt, die Folgendes beinhalten:

  ```
  CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=C:/dev/vcpkg/vcpkg/scripts/buildsystems/vcpkg.cmake"
  ```
+ Kopieren Sie den vollständigen `-DCMAKE_TOOLCHAIN_FILE` Befehl, um ihn CMake später zu verwenden. In der GitHub vcpkg-Readme-Datei finden Sie auch Hinweise, wo Sie dies für Ihr Toolset verwenden können.
+ Möglicherweise müssen Sie auch den Build-Konfigurationstyp notieren, den Sie über vcpkg installiert haben. Die Konsolenausgabe zeigt die Build-Konfiguration und die Version des SDK. Die folgende Beispielausgabe gibt an, dass die Build-Konfiguration „x86-Windows“ und die installierte AWS SDK für C\$1\$1 Version 1.8 ist.

  ```
  The following packages will be built and installed:
      aws-sdk-cpp[core,dynamodb,kinesis,s3]:x86-windows -> 1.8.126#6
  ```

Nach der AWS SDK für C\$1\$1 Installation von können Sie mithilfe des SDK Ihre eigene Anwendung entwickeln. Das Beispiel in [Eine einfache Anwendung erstellen](build-cmake.md) berichtet über die Amazon S3 S3-Buckets, die Sie besitzen.

# Behebung von Problemen mit AWS SDK for C\$1\$1 C\$1\$1-Build
<a name="troubleshooting-cmake"></a>

Beim Erstellen der AWS SDK für C\$1\$1 Datei aus dem Quellcode können einige der folgenden häufigen Build-Probleme auftreten.

**Topics**
+ [

## CMake Fehler: Es konnte keine von AWSSDK "bereitgestellte Paketkonfigurationsdatei gefunden werden
](#could-not-find-package)
+ [

## CMake Fehler: Ladedatei konnte nicht gefunden werden (und Sie verwenden SDK-Version 1.8)
](#could-not-load-file)
+ [

## CMake Fehler: Ladedatei konnte nicht gefunden werden
](#could-not-load-file2)
+ [

## Laufzeitfehler: Der Vorgang kann nicht fortgesetzt werden, da `aws-*.dll` er nicht gefunden wurde
](#dll-was-not-found)

## CMake Fehler: Es konnte keine von AWSSDK "bereitgestellte Paketkonfigurationsdatei gefunden werden
<a name="could-not-find-package"></a>

CMake löst den folgenden Fehler aus, wenn das installierte SDK nicht gefunden werden kann.

```
1> [CMake] CMake Error at C:\CodeRepos\CMakeProject1\CMakeLists.txt:4 (find_package):
1> [CMake]   Could not find a package configuration file provided by "AWSSDK" with any
1> [CMake]   of the following names:
1> [CMake] 
1> [CMake]     AWSSDKConfig.cmake
1> [CMake]     awssdk-config.cmake
1> [CMake] 
1> [CMake]   Add the installation prefix of "AWSSDK" to CMAKE_PREFIX_PATH or set
1> [CMake]   "AWSSDK_DIR" to a directory containing one of the above files.  If "AWSSDK"
1> [CMake]   provides a separate development package or SDK, be sure it has been
1> [CMake]   installed.
```

Um diesen Fehler zu beheben, geben Sie an, CMake wo sich das installierte SDK befindet (z. B. der Ordner, der als Ergebnis der SDK-Installation generiert wurde ([Windows](setup-windows.md), [Linux/macOS](setup-linux.md))). Fügen Sie den folgenden Befehl vor dem ersten Aufruf von `find_package()` in Ihre Datei ein. `CMakeLists.txt` Ein Beispiel finden Sie unter [Erstellen einer einfachen Anwendung mit dem AWS SDK for C\$1\$1](build-cmake.md). 

```
list(APPEND CMAKE_PREFIX_PATH "C:\\Program Files (x86)\\aws-cpp-sdk-all\\lib\\cmake")
```

## CMake Fehler: Ladedatei konnte nicht gefunden werden (und Sie verwenden SDK-Version 1.8)
<a name="could-not-load-file"></a>

CMake löst den folgenden Fehler aus, wenn die installierten Bibliotheken nicht gefunden werden können.

```
1> [CMake]   include could not find load file:
1> [CMake] 
1> [CMake]     C:/Program Files (x86)/aws-cpp-sdk-all/lib/aws-c-common/cmake/static/aws-c-common-targets.cmake

1> [CMake]   include could not find load file:
1> [CMake] 
1> [CMake]     C:/Program Files (x86)/aws-cpp-sdk-all/lib/aws-checksums/cmake/static/aws-checksums-targets.cmake
1> [CMake]   include could not find load file:
1> [CMake] 
1> [CMake]     C:/Program Files (x86)/aws-cpp-sdk-all/lib/aws-checksums/cmake/static/aws-checksums-targets.cmake
```

Um diesen Fehler zu beheben, geben Sie an, CMake wo sich das installierte SDK befindet (z. B. der Ordner, der als Ergebnis der SDK-Installation generiert wurde ([Windows](setup-windows.md), [Linux/macOS](setup-linux.md))). Fügen Sie die folgenden Befehle vor dem ersten Aufruf von `find_package()` in Ihre Datei ein. `CMakeLists.txt` Ein Beispiel finden Sie unter [Erstellen einer einfachen Anwendung mit dem AWS SDK for C\$1\$1](build-cmake.md). 

```
#Set the location of where Windows can find the installed libraries of the SDK.
if(MSVC)
    string(REPLACE ";" "/aws-cpp-sdk-all;" SYSTEM_MODULE_PATH "${CMAKE_SYSTEM_PREFIX_PATH}/aws-cpp-sdk-all")
    list(APPEND CMAKE_PREFIX_PATH ${SYSTEM_MODULE_PATH})
endif()
```

Diese Lösung gilt nur für Version 1.8 des SDK, da diese Abhängigkeiten in späteren Versionen unterschiedlich behandelt werden. Version 1.9 behebt diese Probleme, indem eine Zwischenschicht zwischen den `aws-c-*` Bibliotheken `aws-sdk-cpp` und eingeführt wird. Diese neue Ebene heißt `aws-crt-cpp` und ist ein Git-Submodul des SDK for C\$1\$1. `aws-crt-cpp`hat auch die `aws-c-*` Bibliotheken (einschließlich`aws-c-common`, `aws-checksums`` aws-c-event-stream`, usw.) als eigene Git-Submodule. Dadurch kann das SDK for C\$1\$1 alle CRT-Bibliotheken rekursiv abrufen und den Build-Prozess verbessern.

## CMake Fehler: Ladedatei konnte nicht gefunden werden
<a name="could-not-load-file2"></a>

CMake löst den folgenden Fehler aus, wenn die installierten Bibliotheken nicht gefunden werden können.

```
CMake Error at C:/Program Files (x86)/aws-cpp-sdk-all/lib/aws-c-auth/cmake/aws-c-auth-config.cmake:11 
         (include):  include could not find load file:   
         C:/Program Files (x86)/aws-cpp-sdk-all/lib/aws-c-auth/cmake/static/aws-c-auth-targets.cmake
```

Um diesen Fehler zu beheben, weisen Sie CMake an, gemeinsam genutzte Bibliotheken zu erstellen. Fügen Sie den folgenden Befehl vor dem ersten Aufruf von `find_package()` in Ihre `CMakeLists.txt` Datei ein. Ein Beispiel finden Sie unter [Erstellen einer einfachen Anwendung mit dem AWS SDK for C\$1\$1](build-cmake.md). 

```
set(BUILD_SHARED_LIBS ON CACHE STRING "Link to shared libraries by default.")
```

## Laufzeitfehler: Der Vorgang kann nicht fortgesetzt werden, da `aws-*.dll` er nicht gefunden wurde
<a name="dll-was-not-found"></a>

CMake löst einen Fehler ähnlich dem folgenden aus, wenn eine erforderliche DLL nicht gefunden werden kann.

```
The code execution cannot proceed because aws-cpp-sdk-[dynamodb].dll was not found. Reinstalling the program may fix this problem.
```

Dieser Fehler tritt auf, weil die erforderlichen Bibliotheken oder ausführbaren Dateien für das SDK for C\$1\$1 nicht im selben Ordner wie die ausführbaren Dateien Ihrer Anwendung verfügbar sind. Um diesen Fehler zu beheben, kopieren Sie die SDK-Build-Ausgabe in Ihr ausführbares Verzeichnis. Der spezifische DLL-Dateiname des Fehlers hängt davon ab, welche AWS Dienste Sie verwenden. Führen Sie *einen* der folgenden Schritte aus:
+ Kopieren Sie den Inhalt des `/bin` AWS SDK für C\$1\$1 Installationsordners in den Build-Ordner Ihrer Anwendung.
+ Verwenden Sie in Ihrer `CMakeLists.txt` Datei das Makro AWSSDK\$1CPY \$1DYN\$1LIBS, um diese für Sie zu kopieren.

  Fügen Sie einen Aufruf zu einer Datei `AWSSDK_CPY_DYN_LIBS(SERVICE_LIST "" ${CMAKE_CURRENT_BINARY_DIR})` oder `AWSSDK_CPY_DYN_LIBS(SERVICE_LIST "" ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE})` zu Ihrer `CMakeLists.txt` Datei hinzu, damit dieses Makro das Kopieren für Sie übernimmt. Ein Beispiel finden Sie unter [Erstellen einer einfachen Anwendung mit dem AWS SDK for C\$1\$1](build-cmake.md).

  Wählen Sie den richtigen Kopierpfad für Ihre Build-Umgebung. Beim Erstellen über die Befehlszeile wird die Build-Ausgabe häufig in einen Unterordner (`/Debug`) verschoben, Visual Studio und andere jedoch IDEs häufig nicht. Überprüfen Sie, wo sich Ihre ausführbaren Ausgabedateien befinden, und stellen Sie sicher, dass das Makro an diesen Speicherort kopiert wird. Wenn Sie diese Art von Änderungen vornehmen, empfiehlt es sich, den Inhalt Ihres Build-Ausgabeverzeichnisses zu löschen, damit Sie einen sauberen Ausgangspunkt für den nächsten Build haben.