Aws sqs нарушение доступа к интеграции - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь интегрировать aws простой сервис очереди (sqs) в проект Unreal Engine. Я собрал весь aws c ++ sdk из исходного кода github, следуя документации. Мои параметры сборки приведены ниже:

 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

Связаны все необходимые библиотеки с проектом 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 имеется некоторая путаница.

picture1 picture2

Когда я запускаю этот же код с теми же DLL в новом проекте VS c ++ plain без Unreal Engine, он работает нормально. Я пробовал много вещей, таких как сборка aws sdk c ++ как stati c библиотеки. Также происходит сбой в другом месте при освобождении памяти внутри библиотеки aws.

Не знаю, в чем проблема? Это похоже на проблему с управлением памятью.

Весь тестируемый проект UE с aws libs: https://drive.google.com/file/d/1U1Pknx6Mx48NN9ULk_09aSysxM0FFjbg/view?usp=sharing

Буду очень признателен за любую помощь.

С уважением.

Петр

...