aws / aws/aws-sdk-cpp

Building with CUSTOM_MEMORY_MANAGEMENT causes entry point issues in DLL

Open
#2,122 5 comments 0 reactions 0 assignees View on GitHub
feature-request p2
Dominant language
C++
Stars
2.2k
Forks
1.2k
Avg merge
3d 14h
Merged PRs (30d)
12

Description

### 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.