

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Linux/macOS 適用於 C\$1\$1 的 AWS SDK 上建置
<a name="setup-linux"></a>

若要設定 適用於 C\$1\$1 的 AWS SDK，您可以直接從來源自行建置 SDK，或使用套件管理員下載程式庫。



SDK 來源會依服務分成個別套件。安裝整個 SDK 最多可能需要一小時。僅安裝您的程式使用的特定服務子集可減少安裝時間，並減少磁碟上的大小。若要選擇要安裝的服務，您需要知道程式使用的每個服務的套件名稱。您可以在 GitHub [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp)上查看 的套件目錄清單。套件名稱是 服務的目錄名稱尾碼。

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

## 先決條件
<a name="prerequisites"></a>

您需要至少 4 GB 的 RAM，才能建置一些較大的 AWS 用戶端。由於記憶體不足，開發套件可能無法在 Amazon EC2 執行個體類型 *t2.micro*、*t2.small* 和其他小型執行個體類型上建置。

若要使用 適用於 C\$1\$1 的 AWS SDK，您需要下列其中一項：
+  GNU 編譯器集合 (GCC) 4.9 或更新版本，或
+  Clang 3.3 或更新版本。

## Linux 系統的其他需求
<a name="additional-requirements-for-linux-systems"></a>

您必須擁有 `libcurl`、`libopenssl`、`zlib`、 `libuuid`和 的標頭檔案 (`-dev` 套件），`libpulse`可選擇是否支援 Amazon Polly。您可以使用系統的套件管理員來尋找套件。

**在以 *Debian/Ubuntu 為基礎的系統上*安裝套件**
+ 

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

**在以 *Amazon Linux/Redhat/Fedora/CentOS 為基礎的系統上*安裝套件**
+ 

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

## 從來源建置 SDK
<a name="setup-linux-from-source"></a>

您可以使用命令列工具從來源建置軟體開發套件，作為使用 vcpkg 的替代方案。使用此方法，您可以自訂 SDK 組建。如需可用選項的詳細資訊，請參閱 [CMake 參數](cmake-params.md)。

**從來源建置 SDK**

1. 安裝 [CMake](https://cmake.org/) （最低版本 3.13) 和平台的相關建置工具。建議將 `cmake`新增至您的 `PATH`。若要檢查您的 CMake 版本，請開啟命令提示字元並執行命令 **cmake --version**

1. 在命令提示字元中，導覽至您要存放 SDK 的資料夾。

1. 取得最新的原始程式碼。

   1.11 版使用 git 子模組來包裝外部相依性。這包括 *AWS SDK 和工具參考指南中所述SDKs * [CRT 程式庫](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html)。

   從 GitHub [https://github.com/aws/aws-sdk-cpp](https://github.com/aws/aws-sdk-cpp) 上的 下載或複製 SDK 來源：
   + 使用 Git 複製：HTTPS

     ```
     git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
     ```
   + 使用 Git 複製：SSH

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

1. 我們建議您將產生的建置檔案存放在 SDK 來源目錄之外。建立新的目錄以將建置檔案存放在 中，並導覽至該資料夾。

   ```
   mkdir sdk_build
   cd sdk_build
   ```

1. 透過執行 產生建置檔案`cmake`。在`cmake`命令列指定 是要建置*偵錯*或*發行*版本。選擇`Debug`整個此程序，以執行應用程式程式碼的偵錯組態。選擇`Release`整個此程序，以執行應用程式程式碼的發行版本組態。命令語法：

   `{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}`

   如需修改建置輸出的更多方式，請參閱 [CMake 參數](cmake-params.md)。
**注意**  
使用不區分大小寫的檔案系統在 Mac 上建置 時，請檢查執行建置之目錄中 `pwd`命令的輸出。確定`pwd`輸出對目錄名稱使用混合大小寫，例如 `/Users`和 `Documents`。

   若要產生建置檔案，請執行下列其中一項操作：
   + **產生建置檔案 （全部 AWS 服務)**：若要建置整個 SDK，請執行 cmake，指定要建置*偵錯*或*發行*版本。例如：

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

     
   + **產生建置檔案 （子集 AWS 服務)**：若要僅建置 SDK 的特定服務或 （服務套件），請新增 CMake [BUILD\$1ONLY](cmake-params.md#cmake-build-only) 參數，並將服務名稱以分號分隔。下列範例只會建置 Amazon S3 服務套件：

     ```
     cmake ../aws-sdk-cpp -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local/ -DCMAKE_INSTALL_PREFIX=/usr/local/ -DBUILD_ONLY="s3"
     ```
**注意**  
如果您收到錯誤 無法建置第三方程式庫，請執行 檢查您的 CMake 版本**cmake --version**。您必須使用 CMake 最低版本 3.13。

1. 建置 SDK 二進位檔。如果您要建置整個 SDK，操作可能需要一小時或更長的時間。

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

1. 安裝 SDK。視您選擇安裝的位置而定，您可能需要提升權限。

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

## 在 Linux 上為 Android 建置
<a name="building-for-android"></a>

若要建置 Android 版，請將 `-DTARGET_ARCH=ANDROID`新增至`cmake`命令列。 適用於 C\$1\$1 的 AWS SDK 包含 CMake 工具鏈檔案，其中包含您參考適當環境變數 () 所需的內容`ANDROID_NDK`。如需範例應用程式，請參閱[使用 設定 Android 應用程式 適用於 C\$1\$1 的 AWS SDK](https://aws.amazon.com/blogs/developer/setting-up-an-android-application-with-aws-sdk-for-c/)