Demangled used std::__1::basic_string but I need std::__cxx11::basic_string
I'm trying to use a Shared Library (.so) in a Unreal Project. I already have tried Unreal 4.14.x, 4.15.x. 4.16.x, 4.17.x, 4.18.0 and I always have one problem or another.
At the end, I came back to
With the name of the symbol raised on the error, I used
The demangled symbol is:
If you use
In order to try to solve this problem, I have changed
Then my question is: how can I force unreal use
I already have tried everything that I can but I couldn't find a solution.
asked Oct 30 '17 at 07:44 PM in Linux
This is because your library is compiled against libstdc++, while Unreal by default uses bundled libc++. Different STL implementations decorate symbols differently to avoid clashes (which would be even worse).
Your options are:
If you're using UE earlier than 4.16, you'll need to remove (in LinuxToolChain.cs) the linker script that hides new/delete signatures or you may run into other obscure problems.
Follow this question
Once you sign in you will be able to subscribe for any updates here