Skip to content

Building with CUSTOM_MEMORY_MANAGEMENT causes entry point issues in DLL #2122

Open
@MichaelChidiac

Description

@MichaelChidiac

Describe the bug

Building the SDK with the CUSTOM_MEMORY_MANAGEMENT set causes issues with the dll with both the S3 and S3-CRT packages.

Expected Behavior

Package should build and the dlls be loadable by the required software.

Current Behavior

When adding the DLL to my UE4 project, I will get the following error message pop-up:

The procedure entry point could not be located in the dynamic link library C[...]\aws-cpp-sdk-s3-crt-.dll.

Reproduction Steps

Build the sdk with the following CMAKE command:

cmake.exe "../aws-sdk-cpp" -DCMAKE_BUILD_TYPE=Release -DBUILD_ONLY="s3-crt" -DCUSTOM_MEMORY_MANAGEMENT=1 -DCPP_STANDARD=17 -DENABLE_TESTING=0

Then try to load the DLL in another application and the error message should appear.

Note: testing is disabled because adding the custom memory flag will fail the unit tests.

Possible Solution

No response

Additional Information/Context

As noted before, this is being added as a plug-in library in UE4. There is a necessity to provide a custom Memory Manager in this scenario as not using a custom one will cause issues when allocating/deallocating strings.

I haven't tested loading the DLL in a separate project, but it will load correctly if I compile without the DCUSTOM_MEMORY_MANAGEMENT flag.

AWS CPP SDK version used

1.9.355

Compiler and Version used

Visual Studio

Operating System and version

Windows 10

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestA feature should be added or improved.p2This is a standard priority issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions