I never had a problem integrating simple Third Party libraries, because it was just copying and pasting from other Engine plugins or using the “New ThirdParty Plugin” creator from the Editor. But now I want to use the AWS SDK and for some reason doesn’t seem to work that well.
I have a Runtime exception where the library is not found. I’m using aws-sdk-cpp[core,cognito] built with vcpkg.
I have the following error:
Exception thrown at 0x00007FFFAEAB4B59 (KernelBase.dll) in UE4Editor.exe: 0xC06D007E: Module not found (parameters: 0x0000007CD797A9D0).
Unhandled exception at 0x00007FFFAEAB4B59 (KernelBase.dll) in UE4Editor.exe: 0xC06D007E: Module not found (parameters: 0x0000007CD797A9D0).
Exception thrown at 0x0000000000000000 in UE4Editor.exe: 0xC0000005: Access violation executing location 0x0000000000000000.
It complains about the module, but I believe I have the correct dependencies.
I know that it only happens if I include third party classes in the .h files.
Please, download the project and let me know what am I doing wrong.
It was a problem of having CRT (C runtime) dependencies.
To recap, I was using VCPKG to generate the binaries and the include files. Then paste it to the ThirdParty folder and create a new library module, setting everything up like the documentation suggested.
Then during runtime, the Plugin would crash having a silent exception.
Using Dependency Walker helped me figuring out what C runtime libraries where needed. So I included them.
I am currently facing essentially the same problem just with a different library (libssh).
I also generated it using VCPKG and used the created files in a library module.
Compiling works fine, but as soon as anything of the library gets used, I get the same exception you had.
Could you elaborate on how you included the C runtime libraries? I already used Dependencies (Dependency Walker wasn’t working for me on Win10) to find out the used libraries and tried to include them by using PublicDelayLoadDLLs.Add(); without success.
found the problem myself. I missed that one of the required dll files (pthreadVC3.dll) was installed with VCPKG and therefor couldn’t be found by PublicDelayLoadDLLs.Add(). I now have code copying it into the Plugins binaries so it will be found.
Output:
Exception thrown at 0x00007FF8C5AE4F69 (KernelBase.dll) in UE4Editor.exe: 0xC06D007E: Module not found (parameters: 0x000000B1FB17A890).
Unhandled exception at 0x00007FF8C5AE4F69 (KernelBase.dll) in UE4Editor.exe: 0xC06D007E: Module not found (parameters: 0x000000B1FB17A890).
Crash file is delayhlp.cpp line 312.
Who can help me? It’s breaks me down!!! Help~