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:
- Off (the default)
- Fatal
- Error
- Warn
- Info
- Debug
- 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:
- GCC 4.9.x and later
- Clang 3.3 and later
- Visual Studio 2015 and later
What versioning scheme do you follow?
Major.Minor.Patch
- Major increments are reserved to overhauls (we haven't needed this yet)
- Minor increments are used when source-level breaking changes are introduced. We try our best to minimize this.
- Patch increments are used for the frequent service updates.
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.