[Interest] Using std::string in android projects
Thiago Macieira
thiago.macieira at intel.com
Tue Jan 5 14:45:14 CET 2016
On Monday 04 January 2016 23:11:09 Jason H wrote:
> Well there is a library that depends on the std::string class. I then use
> std::string to shuffle data into and out of the library, using
> QString/QByteArray as appropriate.
stlport, unlike libc++, is NOT able to be loaded into the same process as
libstdc++. If you want to link to any code using stlport, you need to
recompile Qt with stlport too.
My advice: instead, recompile this other library with libstdc++.
> It seems I may need to pass RTLD_GLOBAL to the dlopen() call. i.e.
> dlopen("stlport_shared", RTLD_GLOBAL| RTLD_LAZY) But qt is only assigning
> RTLD_LAZY. How can I alter this flag?
This question is irrelevant after what I said above. More importantly, you
MUST NOT do this. Do not load stlport in a process that has libstdc++ or vice-
versa.
But for completeness:
RTLD_GLOBAL is QLibrary::ExportExternalSymbolsHint.
RTLD_LAZY is the default, as opposed to QLibrary::ResolveAllSymbolsHint which
triggers RTLD_NOW.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
More information about the Interest
mailing list