Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
CMake parámetros para construir el AWS SDK para C++
Usa los CMake
Puede configurar estas opciones con las herramientas de la CMake interfaz gráfica de usuario o la línea de comandos mediante -D. Por ejemplo:
cmake -DENABLE_UNITY_BUILD=ON -DREGENERATE_CLIENTS=1
CMake Variables y opciones generales
A continuación, se indican las variables y opciones de cmake generales que afectan al proceso de compilación del código fuente del SDK.
nota
Utilice estos parámetros al compilar el código fuente del SDK para el propio SDK para C++.
Temas
ADD_CUSTOM_CLIENTS
Compila un cliente de manera arbitraria en función de la definición de la API. Coloque la definición en la carpeta code-generation/api-definitions y, a continuación, transfiera este argumento a cmake. El paso de configuración de cmake genera el cliente y lo incluye como un subdirectorio en la compilación. Esto resulta especialmente útil para generar un cliente C++ para usar uno de los servicios de API Gateway
-DADD_CUSTOM_CLIENTS="serviceName=myCustomService,version=2015-12-21;serviceName=someOtherService,version=2015-08-15"
nota
Para usar el parámetro ADD_CUSTOM_CLIENTS, debe tener Python 2.7PATH.
AUTORUN_UNIT_TESTS
Si se establece en ON, ejecute las pruebas unitarias automáticamente después de la compilación.
- Valores
-
ON | OFF
- Predeterminado
-
ACTIVADO
AWS_AUTORUN_LD_LIBRARY_PATH
La ruta que se añadirá a LD_LIBRARY_PATH para la ejecución automática de las pruebas unitarias. CMake Establezca esta ruta si se necesitan bibliotecas de tiempo de ejecución personalizadas para las dependencias anuladas.
- Valores
-
Cadena.
- Predeterminado
-
N/D
AWS_SDK_ADVERTENCIAS_SON_ERRORES
Si se establece en ON, trata las advertencias del compilador como errores. Pruebe a cambiar esta opción a OFF si observa errores en un compilador nuevo o poco común.
- Valores
-
ON | OFF
- Predeterminado
-
EN
AWS_USE_CRYPTO_SHARED_LIBS
Obliga FindCrypto a usar una biblioteca criptográfica compartida si la encuentra. Cámbielo a OFF para usar la configuración de BUILD_SHARED_LIBS en su lugar.
- Valores
-
ON | OFF
- Predeterminado
-
DESACTIVADO
AWS_TEST_REGIÓN
El Región de AWS que se utilizará en las pruebas de integración.
- Valores
-
Cadena.
- Predeterminado
-
N/D
BUILD_BENCHMARKS
Si se establece en ON, compile el ejecutable de referencia.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
BUILD_DEPS
Si se establece en ON, compile dependencias de terceros.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
BUILD_ONLY
Compile solo los clientes que quiera usar. Si se configura en un SDK de alto nivel, como aws-cpp-sdk-transfer, BUILD_ONLY resuelve cualquier dependencia de cliente de bajo nivel. También compila pruebas unitarias y de integración relacionadas con los proyectos que seleccione, si existen. Se trata de un argumento de lista, con valores separados por puntos y comas (;). Por ejemplo:
-DBUILD_ONLY="s3;cognito-identity"
nota
El módulo principal del SDK, aws-sdk-cpp-core, siempre se compila, independientemente del valor del parámetro BUILD_ONLY.
BUILD_OPTEL
Si se establece en ON, crea la implementación de OpenTelemetry del rastreo.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
BUILD_SHARED_LIBS
Una CMake opción integrada, que se vuelve a exponer aquí para mayor visibilidad. Si se establece en ON, compila bibliotecas compartidas; de lo contrario, solo compila bibliotecas estáticas.
nota
Para la vinculación dinámica con el SDK, debe definir el símbolo USE_IMPORT_EXPORT para todos los objetivos de compilación que utilicen el SDK.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
BYPASS_DEFAULT_PROXY
SiON, omita la configuración de proxy predeterminada de la máquina cuando utilice IXml HttpRequest 2.
- Valores
-
ON | OFF
- Predeterminado
-
ACTIVADO
CPP_STANDARD
Especifica un estándar de C++ personalizado para usarlo con las bases de código C++ 14 y 17.
- Valores
-
11 | 14 | 17
- Predeterminado
-
11
CURL_INCLUDE_DIR
La ruta a curl incluye el directorio que contiene los encabezados libcurl.
- Valores
-
Ruta de la cadena al directorio
includeseleccionado. Por ejemplo,D:/path/to/dir/with/curl/include. - Predeterminado
-
N/D
CURL_LIBRARY
Ruta al archivo de la biblioteca de curl con el que establecer el enlace. Esta biblioteca puede ser una biblioteca estática o una biblioteca de importación, según las necesidades de la aplicación.
- Valores
-
Ruta de la cadena al archivo de la biblioteca de curl. Por ejemplo,
D:/path/to/static/libcur/file/ie/libcurl.lib.a. - Predeterminado
-
N/D
CUSTOM_MEMORY_MANAGEMENT
Para usar un administrador de memoria personalizado, establezca el valor en 1. Puede instalar un asignador personalizado para que todos los tipos de STL utilicen la interfaz de asignación personalizada. Si establece el valor 0, es posible que desee seguir utilizando los tipos de plantilla STL para garantizar la seguridad de las DLL en Windows.
Si el enlace estático se establece en ON, la administración de memoria personalizada se establecerá de forma predeterminada en off (0). Si la vinculación dinámica se establece en ON, la administración de memoria personalizada se establece de forma predeterminada en on (1) y evita la asignación y desasignación entre archivos DLL.
nota
Para evitar errores de discordancia en los enlazadores, debe usar el mismo valor (0 o1) en la totalidad del sistema de compilación.
Para instalar su propio administrador de memoria para que gestione las asignaciones realizadas por el SDK, debe configurar -DCUSTOM_MEMORY_MANAGEMENT y definir USE_AWS_MEMORY_MANAGEMENT para todos los objetivos de compilación que dependan del SDK.
DESHABILITAR_INTERNAL_ _LLAMADAS IMDSV1
Si se establece en ON, no se realiza ninguna llamada interna a la API V1 del servicio de metadatos de instancias. SiOFF, IMDSv2 las llamadas volverán a usarse si la llamada falla. IMDSv1 IMDSv2 Para obtener más información IMDSv1 y IMDSv2, consulte Uso del servicio de metadatos de instancias para acceder a los metadatos de la instancia en la Guía del usuario de Amazon EC2.
- Valores
-
ON | OFF
- Predeterminado
-
DESACTIVADO
ENABLE_ADDRESS_SANITIZER
Si se establece en ON, activa Address Sanitizer para gcc o clang.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
ENABLE_CURL_LOGGING
Si se establece en ON, canaliza el registro interno de curl al registrador del SDK.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
ENABLE_HTTP_CLIENT_TESTING
Si se establece en ON, compile y ejecute los conjuntos de pruebas de clientes HTTP correspondientes.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
ENABLE_RTTI
Controla si el SDK está diseñado para habilitar la información de tipos en tiempo de ejecución (RTTI).
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
ENABLE_TESTING
Controla si los proyectos de pruebas unitarias y de integración se compilan durante la creación del SDK.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
ENABLE_UNITY_BUILD
Si está establecido en ON, la mayoría de las bibliotecas del SDK se crean como un único archivo .cpp generado. Esto puede reducir de manera considerable el tamaño de la biblioteca estática y acelerar el tiempo de compilación.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
ENABLE_VIRTUAL_OPERATIONS
Este parámetro suele funcionar junto con REGENERATE_CLIENTS para generar código.
Si ENABLE_VIRTUAL_OPERATIONS se establece en ON y REGENERATE_CLIENTS en ON, las funciones relacionadas con las operaciones en los clientes de servicio se marcarán como virtual.
Si ENABLE_VIRTUAL_OPERATIONS se establece en OFF y REGENERATE_CLIENTS en ON, virtual no se añadirá a las funciones de operación y las clases de clientes de servicio se marcarán como final.
Si ENABLE_VIRTUAL_OPERATIONS se establece en OFF, el SDK también añadirá los indicadores de compilación -ffunction-sections y -fdata-sections para gcc y clang al compilar.
Para obtener más información, consulte CMake Parámetros
- Valores
-
ON | OFF
- Predeterminado
-
ACTIVADO
ENABLE_ZLIB_REQUEST_COMPRESSION
En los servicios que lo admitan, el contenido de la solicitud se comprimirá. Está habilitado de forma predeterminada si la dependencia está disponible.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
FORCE_CURL
solo Windows. Si se establece en ON, fuerza el uso del cliente curl en lugar del proveedor de transferencia de datos WinHTTP
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
FORCE_SHARED_CRT
Si se establece en ON, el SDK se vincula al motor de ejecución de C de forma dinámica; de lo contrario, utiliza la configuración BUILD_SHARED_LIBS (que a veces es necesaria para mantener la compatibilidad con versiones anteriores del SDK).
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
G
Genera artefactos de compilación, como soluciones de Visual Studio y proyectos de Xcode.
Por ejemplo, en Windows:
-G "Visual Studio 12 Win64"
Para obtener más información, consulte la CMake documentación de su plataforma.
MINIMIZE_SIZE
Un superconjunto de ENABLE_UNITY_BUILD. Si se establece en ON, esta opción activa ENABLE_UNITY_BUILD y otros ajustes de reducción de tamaño binario.
- Valores
-
ON | OFF
- Predeterminado
-
DESACTIVADO
NO_ENCRYPTION
Si se establece en ON, impide que la implementación de criptografía predeterminada específica de la plataforma se incorpore a la biblioteca. Establézcala en ON para incluir propia implementación de criptografía.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
NO_HTTP_CLIENT
Si se establece en ON, impide que el cliente HTTP predeterminado específico de la plataforma se integre en la biblioteca. Si se establece en ON, tendrá que proporcionar su propia implementación de cliente HTTP específica de la plataforma.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
REGENERATE_CLIENTS
Si se establece en ON, este parámetro elimina todo el código generado y genera los directorios de cliente a partir de la carpeta code-generation/api-definitions. Por ejemplo:
-DREGENERATE_CLIENTS=1
nota
Para usar el parámetro REGENERATE_CLIENTS, debe tener Python 2.7PATH.
REGENERATE_DEFAULTS
Si se establece en ON, este parámetro elimina todo el código predeterminado generado y lo vuelve a generar a partir de la carpeta code-generation/defaults. Por ejemplo:
-DREGENERATE_DEFAULTS=1
nota
Para usar el parámetro REGENERATE_DEFAULTS, debe tener Python 2.7PATH.
SIMPLE_INSTALL
Si se establece en ON, el proceso de instalación no inserta directorios intermedios específicos de la plataforma debajo de bin/ y lib/. Establézcalo en OFF si necesita crear versiones multiplataforma en un único directorio de instalación.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
TARGET_ARCH
Para realizar una compilación cruzada o una compilación para una plataforma móvil, debe especificar la plataforma de destino. De forma predeterminada, la compilación detecta el sistema operativo del host y compilaciones del sistema operativo detectado.
nota
Cuando TARGET_ARCH es ANDROID, hay opciones adicionales disponibles. Consulta CMake Variables y opciones de Android.
- Valores
-
WINDOWS | LINUX | APPLE | ANDROID
USE_CRT_HTTP_CLIENT
Si es asíON, usa el cliente HTTP común en tiempo de ejecución, y los sistemas heredados, como WinHttp libcurl, no están compilados ni incluidos.
- Valores
-
ON | OFF
- Predeterminado
-
DESACTIVADO
USE_IXML_HTTP_REQUEST_2
solo Windows. SiON, usa el objeto com IXml HttpRequest 2 para la pila HTTP.
- Valores
-
ON | OFF
- Predeterminado
-
DESACTIVADO
USE_OPENSSL
SiON, el SDK se compila con OpenSSL; de lo contrario, utiliza. awslabs/aws-lcAWS-LCes una biblioteca criptográfica de uso general mantenida por el equipo de AWS criptografía para sus clientes y para ellos. AWS Si se establece en OFF, el parámetro instala AWS-LC como reemplazo de OpenSSL en el directorio predeterminado del sistema. No use este parámetro si ya tiene una instalación de OpenSSL en su sistema.
- Valores
-
ON | OFF
- Predeterminado
-
EN
USE_TLS_V1_2
Si se establece en ON, el cliente HTTP aplica TLS 1.2.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
USE_TLS_V1_3
Si se establece en ON, el cliente HTTP aplica TLS 1.3.
- Valores
-
ON | OFF
- Predeterminado
-
APAGADO
CMake Variables y opciones de Android
Utilice las siguientes variables cuando cree una compilación del SDK para Android (cuando TARGET_ARCH esté configurado en ANDROID).
Temas
ANDROID_ABI
Solo Android. Controla la interfaz binaria de aplicaciones (ABI) para la que se generará el código.
nota
Actualmente, no se admiten todos los valores de ABI para Android válidos.
- Valores
-
arm64 | armeabi-v7a | x86_64 | x86 | mips64 | mips
- Predeterminado
-
armeabi-v7a
ANDROID_BUILD_CURL
Solo Android. Si se establece en ON, compile también curl.
- Valores
-
ON | OFF
- Predeterminado
-
NO
ANDROID_BUILD_OPENSSL
Solo Android. Si se establece en ON, compile también Openssl.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
ANDROID_BUILD_ZLIB
Solo Android. Si se establece en ON, compile también Zlib.
- Valores
-
ON | OFF
- Predeterminado
-
ENCENDIDO
ANDROID_NATIVE_ API_LEVEL
Solo Android. Controla el nivel de API en relación con el cual que se compila el SDK. Si configura ANDROID_STL como gnustl, puede elegir cualquier nivel de API. Si usa libc++, debe usar un nivel de API de 21 como mínimo.
- Predeterminado
-
Varía según la elección de STL.
ANDROID_STL
Solo Android. Controla la versión de la biblioteca estándar de C++ que utiliza el SDK.
importante
Se pueden producir problemas de rendimiento en el SDK si se utilizan las opciones de gnustl; se recomienda encarecidamente utilizar libc++_shared o libc++_static.
- Valores
-
libc++_shared | libc++_static | gnustl_shared | gnustl_static
- Predeterminado
-
libc++_shared
ANDROID_TOOLCHAIN_NAME
Solo Android. Controla qué compilador se usa para compilar el SDK.
nota
Dado que el NDK de Android ha dejado de usar GCC, le recomendamos usar el valor predeterminado.
- Predeterminado
-
standalone-clang
DISABLE_ANDROID_STANDALONE_BUILD
Solo Android. De forma predeterminada, las compilaciones de Android utilizan una cadena de herramientas independiente basada en clang creada mediante scripts del NDK. Para usar su propia cadena de herramientas, establezca esta opción en ON.
- Valores
-
ON | OFF
- Predeterminado
-
DESACTIVADO
NDK_DIR
Solo Android. Especifica una ruta de anulación en la que el sistema de compilación debe encontrar el NDK de Android. De forma predeterminada, el sistema de compilación comprueba las variables de entorno (ANDROID_NDK) si esta variable no está configurada.