C++ Aws sqs集成访问冲突

C++ Aws sqs集成访问冲突,c++,amazon-web-services,amazon-sqs,unreal-engine4,C++,Amazon Web Services,Amazon Sqs,Unreal Engine4,我正试图在虚幻引擎项目中集成aws简单队列服务(sqs)。我已经从GITHUB源文件中构建了完整的AWS C++ SDK。我的构建参数如下: cmake .. -G "Visual Studio 15 Win64" -DCMAKE_BUILD_TYPE=Debug -DUSE_WINDOWS_DLL_SEMATICS=ON -DUSE_IMPORT_EXPORT=ON "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTool

我正试图在虚幻引擎项目中集成aws简单队列服务(sqs)。我已经从GITHUB源文件中构建了完整的AWS C++ SDK。我的构建参数如下:

 cmake .. -G "Visual Studio 15 Win64" -DCMAKE_BUILD_TYPE=Debug -DUSE_WINDOWS_DLL_SEMATICS=ON -DUSE_IMPORT_EXPORT=ON
 "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\msbuild.exe" INSTALL.vcxproj /p:Configuration=Debug
将所有必要的DLL链接到UE项目:

// These macros are necessary for the aws
Definitions.Add("USE_IMPORT_EXPORT");
Definitions.Add("USE_WINDOWS_DLL_SEMANTICS");

PublicAdditionalLibraries.Add(Path.Combine(libDirectory, "aws", "aws-cpp-sdk-core.lib"));
PublicAdditionalLibraries.Add(Path.Combine(libDirectory, "aws", "aws-c-event-stream.lib"));
PublicAdditionalLibraries.Add(Path.Combine(libDirectory, "aws", "aws-checksums.lib"));
PublicAdditionalLibraries.Add(Path.Combine(libDirectory, "aws", "aws-c-common.lib"));
PublicAdditionalLibraries.Add(Path.Combine(libDirectory, "aws", "aws-cpp-sdk-sqs.lib"));
问题是当我试图运行简单代码来接收从AWS C++示例页面复制的消息时,它会随访问冲突而下降。如下图所示,ClientConfiguration对象中存在一些混乱

当我在没有ValueEngine的新VS C++项目中运行相同的DLL代码时,运行良好。我尝试了很多东西,比如AWS SDK C++作为静态库。在aws库中释放一些内存时,它也会在其他地方崩溃

我不知道问题出在哪里?看起来内存管理有问题

使用aws libs的整个测试UE项目:

我将非常感谢任何帮助

问候


彼得

我终于找到了解决办法。让它工作的唯一方法是使用MicrosoftVCPKG构建aws库。在构建时必须有一些附加设置。从源程序包或Nuget程序包生成的DLL不适用于UE4。生成时使用了哪些其他设置?我现在遇到了完全相同的问题。只需使用Vcpkg Microsoft工具构建它,它应该可以工作,因为他们的生态系统设置了所有必要的设置。我所说的“构建时的附加设置”是指像我第一次做的那样,自己从源代码构建(没有vcpkg)。