'Undefined symbols compiling against AWS SDK for CPP

I'm trying to use the AWS C++ SDK from an Unreal Engine plugin, but I'm getting errors for various symbols that the code seems to expect to be externally defined; here are some of the ones it's complaining about:

  • _MSC_VER
  • __clang_analyzer__
  • _POSIX_C_SOURCE
  • AWS_DEEP_CHECKS
  • AWS_USE_IO_COMPLETION_PORTS

I'm compiling with clang on Mac. Searching the SDK source for any of these, the only places I can find any of them defined are in make files. Shouldn't building the SDK have generated a .h or something with the correctly defined values for all these? I can't find any SDK documentation that mentions any requirement to define these or other symbols before consuming the SDK APIs.

I should probably note that make ended with 2 test failing, and I didn't run make install (I want the SDK to live in the Unreal plugin, not be installed system wide) so it's possible there's something missing due to that?

[Edit: after disabling the tests (two of which are failing) I was able to make install but am still getting undefined symbol errors from the installed header files :-/]



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source