dlopen() returns undefined symbol for library w/ RTLD_LAZY
John (Eljay) Love-Jensen
eljay@adobe.com
Thu Jul 23 11:45:00 GMT 2009
Hi David,
When I run into undefined symbol problems, the first thing I do is make sure the symbol is where I think it is.
Use the 'nm' tool to get a dump of where (and what) you expect the symbol to be.
It may be something as simple as looking for "Foo", but the C symbol is "_Foo" on this other platform. That's "C mangling" on some platforms.
Or it may be something more drastic as looking for "Foo", but the C++ symbol is "_S3FooCCpC" mangled which could stand for "Foo(char, char, char*)" -- and that mangled symbol should be (and is expected to be) C mangled not C++ mangled.
HTH,
--Eljay
More information about the Gcc-help
mailing list