aws / aws-sdk-cpp

AWS SDK for C++
Apache License 2.0
1.97k stars 1.06k forks source link

Building with CUSTOM_MEMORY_MANAGEMENT causes entry point issues in DLL #2122

Open MichaelChidiac opened 2 years ago

MichaelChidiac commented 2 years ago

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

jmklix commented 2 years ago

Which version of Visual studio are you using?

github-actions[bot] commented 2 years ago

Greetings! It looks like this issue hasn’t been active in longer than a week. We encourage you to check if this is still an issue in the latest release. Because it has been longer than a week since the last update on this, and in the absence of more information, we will be closing this issue soon. If you find that this is still a problem, please feel free to provide a comment or add an upvote to prevent automatic closure, or if the issue is already closed, please feel free to open a new one.

DarkShearJWD commented 1 year ago

As far as I am aware this is still an issue. I can give you information about the software versions I am using to reproduce the issue.

  1. Windows Version: Windows 11
  2. AWS SDK version – the last tag in the cloned repo is 1.9.301
  3. Visual Studio version – 2022 (version 17.2.4)
  4. cmake version - 3.24.0-rc3
gamerdoku commented 1 year ago

I am also running into this issue:

Windows Version: Windows 10 AWS SDK version – 1.11.67 Visual Studio version – 2022 (Version 17.4.4) cmake version - 3.25.1

jmklix commented 9 months ago

We currently don't support using this sdk with Unreal engine, but we do have a feature request for this. Adding this issue to the list.