Did you add your library to the ProjectName.Build.cs file?
PublicAdditionalLibraries.Add(<path to the library>);
Did you add your library to the ProjectName.Build.cs file?
PublicAdditionalLibraries.Add(<path to the library>);
Hello,
I am working on integrating ignition-robotics library into Unreal to use its transport system.
I built protobuf as static library and linked static ignition against it and that worked and now I have my “*.a” files.
Now, I included those libraries in my project as ThirdParty static libs and tried to load the Unreal editor solution, there it throws me the following error :
[2018.08.15-16.42.46:949][
0]LogLinux: Warning: dlopen failed:
/home/user/Documents/Unreal
Projects/IgnIntegrationPoc_4.19/Binaries/Linux/libUE4Editor-IgnIntegrationPoc.so:
undefined symbol:
_ZN6google8protobuf8internal26fixed_address_empty_stringE
tracing back that error, i found the following :
$ nm -D Binaries/Linux/libUE4Editor-IgnIntegrationPoc.so | grep
_ZN6google8protobuf8internal26fixed_address_empty_stringEU _ZN6google8protobuf8internal26fixed_address_empty_stringE
I tried the same with all the static libraries that I included, I never found this symbol in any of them. Tried different versions of protobuf (3.6.1) and (3.0.2) with different options “-fPIC -DGOOGLE_PROTOBUF_NO_RTTI -frandom-seed=string” and nothing changed. Still the same loading problem …
Does anyone have an idea where this undefined symbol is coming from ?
Good to know, _ZN6google8protobuf8internal26fixed_address_empty_stringE the only undefined symbol that I found on my shared library “libUE4Editor-IgnIntegrationPoc.so”. Curious ! …
Cheers.
Yep. And Indeed, all the others google protobuf symbols are defined in the .so but that one.
don’t know if that helps but hope so
Thx Eki but that didn’t work. It complans that the resulting lib is mal formed…