Home (original) (raw)

Welcome to the AWS C++ SDK wiki!

General FAQ

How do I build the SDK from source?

See the detailed step-by-step guide to get started.

How do I turn on logging?

The type of logger and the verbosity are specified during the SDK initialization in the SDKOptions argument.
Specifying any verbosity level other than LogLevel::Off will turn on the default logger.
The default logger will write to the filesystem; the file is named using the following convention aws_sdk_YYYY-MM-DD-HH.log. The logger creates a new file on the hour. There are six levels of verbosity:

  1. Off (the default)
  2. Fatal
  3. Error
  4. Warn
  5. Info
  6. Debug
  7. Trace

For example, to turn on Debug logs:

Aws::SDKOptions options; options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug; Aws::InitAPI(options); // ... Aws::ShutdownAPI(options);

The SDK also ships with a console logger that will print messages to the standard output. To use the console logger instead of the default filesystem logger:

#include <aws/core/utils/logging/ConsoleLogSystem.h>

using namespace Aws::Utils::Logging; Aws::SDKOptions options; options.loggingOptions.logLevel = LogLevel::Debug; options.loggingOptions.logger_create_fn = [] { return std::make_shared(LogLevel::Trace); }; Aws::InitAPI(options); // ... Aws::ShutdownAPI(options);

What compilers do you support?

Currently we support the following compilers:

  1. GCC 4.9.x and later
  2. Clang 3.3 and later
  3. Visual Studio 2015 and later

What versioning scheme do you follow?

Major.Minor.Patch

What is the deal with InitAPI and ShutdownAPI?

Coming soon

Why do you have Aws::String? How is it different from std::string?

Coming soon

CMake build options

In addition to all the standard CMake options you can pass, the following options are specific to the SDK.

-DBUILD_ONLY

This option allows you to build selective services rather than the whole SDK. This can be quite handy if all you're interested is using a single service, for example, to build just S3 & Lambda you can pass -DBUILD_ONLY="s3,lambda"

-DBUILD_DEPS

By default this option is turned on. To build the third-party dependencies separately from the SDK build, pass OFF.

-DREGENERATE_CLIENTS

By default this option is turned off. To re-generate the service clients as part of the build, pass ON. Note: This invokes the code generator, which is built using Java (I know). You must have the JDK, maven and python available on the machine when regenerating clients.