Compilación del AWS SDK para C++ en Linux/macOS
Para configurar el AWS SDK para C++, puede compilar el SDK usted mismo directamente desde el código fuente o descargar las bibliotecas utilizando un administrador de paquetes.
El código fuente del SDK se divide en paquetes individuales por servicio. La instalación del SDK completo puede tardar hasta una hora. Si se instala solo el subconjunto específico de servicios que utiliza el programa, se reduce el tiempo de instalación y también el tamaño del disco. Para elegir qué servicios instalar, es necesario que conozca el nombre del paquete de cada servicio que utiliza el programa. La lista de directorios de paquetes está en 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
Requisitos previos
Necesita 4 GB de RAM como mínimo para compilar algunos de los clientes de AWS de mayor tamaño. Es posible que el SDK no se pueda compilar en los tipos de instancia t2.micro, t2.small y otros tipos de instancias pequeñas de Amazon EC2 por falta de memoria.
Para utilizar el AWS SDK para C++, necesita tener una de estas herramientas:
-
GNU Compiler Collection (GCC) 4.9 o versiones posteriores o
-
Clang 3.3 o versiones posteriores.
Requisitos adicionales para los sistemas de Linux
También tiene que tener los archivos de encabezado (paquetes -dev) para libcurl, libopenssl, libuuid, zlib y, de manera opcional, libpulse para la compatibilidad con Amazon Polly. Puede encontrar los paquetes con el administrador de paquetes del sistema.
Para instalar los paquetes en sistemas basados en Debian/Ubuntu
-
sudo apt-get install libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev
Para instalar los paquetes en sistemas basados en Amazon Linux/RedHat/Fedora/CentOS
-
sudo yum install libcurl-devel openssl-devel libuuid-devel pulseaudio-libs-devel
Compilación del SDK desde el código fuente
Utilice las herramientas de la línea de comandos para compilar el SDK desde el código fuente como alternativa al uso de vcpkg. Puede personalizar la compilación del SDK con este método. Para obtener información sobre las opciones disponibles, consulte Parámetros de CMake.
Para compilar el SDK desde el código fuente
-
Instale CMake
(versión 3.13 como mínimo) y las herramientas de compilación que corresponda a su plataforma. Le recomendamos añadir cmakealPATH. Para comprobar su versión de CMake, abra una línea de comandos y ejecute el comandocmake --version -
Cuando se lo indique el sistema, abra la carpeta en la que desee almacenar el SDK.
-
Obtenga el código fuente más reciente.
La versión 1.11 utiliza submódulos de git para empaquetar las dependencias externas. Esto incluye las bibliotecas CRT descritas en la Guía de referencia de las herramientas y los SDK de AWS.
Descargue o clone el código fuente del SDK desde
aws/aws-sdk-cppen GitHub: -
Clonación con Git: HTTPS
git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp -
Clonación con Git: SSH
git clone --recurse-submodules git@github.com:aws/aws-sdk-cpp.git
-
-
Le recomendamos que guarde los archivos de compilación generados fuera del directorio de origen del SDK. Cree un nuevo directorio para almacenar los archivos de compilación y vaya hasta esa carpeta.
mkdirsdk_buildcdsdk_build -
Ejecute
cmakepara generar los archivos de compilación. Especifique en la línea de comandos decmakesi desea crear una versión Debug o una Release. ElijaDebuga lo largo de todo este procedimiento para ejecutar una configuración de depuración del código de la aplicación. ElijaReleasea lo largo de todo este procedimiento para ejecutar una configuración de lanzamiento del código de la aplicación. Sintaxis de comandos:{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}Para ver más formas de modificar el resultado de la compilación, consulte Parámetros de CMake.
nota
Al compilar en un Mac con un sistema de archivos que no distinga entre mayúsculas y minúsculas, compruebe el resultado del comando
pwden el directorio donde ejecute la compilación. Asegúrese de que el resultadopwdutilice mayúsculas y minúsculas para los nombres de directorio, como/UsersyDocuments.Para generar los archivos de compilación, lleve a cabo una de las siguientes acciones:
-
Genere archivos de compilación (todos los Servicios de AWS): para compilar todo el SDK, ejecute cmake y especifique si desea compilar una versión Debug o Release. Por ejemplo:
cmake../aws-sdk-cpp-DCMAKE_BUILD_TYPE=Debug-DCMAKE_PREFIX_PATH=/usr/local/-DCMAKE_INSTALL_PREFIX=/usr/local/ -
Genere archivos de compilación (subconjunto de los Servicios de AWS): para crear solo un servicio o paquetes de servicios específicos para el SDK, añada el parámetro BUILD_ONLY de CMake, con los nombres de los servicios separados por punto y coma. El siguiente ejemplo compila únicamente el paquete de servicios Amazon S3:
cmake../aws-sdk-cpp-DCMAKE_BUILD_TYPE=Debug-DCMAKE_PREFIX_PATH=/usr/local/-DCMAKE_INSTALL_PREFIX=/usr/local/-DBUILD_ONLY="s3"
nota
Si recibe el mensaje de error
Failed to build third-party libraries, ejecutecmake --versionpara comprobar su versión de CMake. Es necesario usar la versión 3.13 como mínimo de CMake. -
-
Compile los binarios del SDK. Si va a compilar todo el SDK, la operación puede tardar una hora o más.
cmake --build . --config=Debug -
Instale el SDK. Es posible que tenga que aumentar los privilegios en función de la ubicación en la que decida realizar la instalación.
cmake --install . --config=Debug
Compilación para Android en Linux
Para compilar para Android, añada -DTARGET_ARCH=ANDROID a su línea de comandos de cmake. El AWS SDK para C++ incluye un archivo de cadena de herramientas de CMake que hace referencia a las variables de entorno adecuadas (ANDROID_NDK) para proporcionarle todo lo que necesita. Para ver un ejemplo de aplicación, consulte Cómo configurar una aplicación de Android con AWS SDK para C++