Hello, On Thu, Nov 22, 2012 at 9:12 AM, Jorge Izquierdo Ciges <[email protected]>wrote:
> I think Matthias is totally right. Android NDK toolchain doesn't use strip > when generating static libraries (it's not safe for all the cases). Usually > when you are compiling the final dylib that is loaded through Java the > toolchan uses stripping to reduze the size. but i think that it is only > used IF you are using the ndk-scripts. So maybe if you have set your own > compile configuration you didn't include that step. > That's not true, actually. The binaries loaded to the device are *always* stripped, no matter what you do. Even when you are compiling for debugging. The reason for that is that you do not need the symbols when debugging - the debugger is running on the host (where an unstripped binary is available), not on the device. I have discovered this when trying to debug native code - I was trying to get the non-stripped binary on the device and had to hack the ndk-build to achieve that, before realizing that it isn't actually useful because of the remote debugging being done. You can check that the binaries are always stripped in the ndk-build script and also by comparing the size of the generated libraries under libs and obj/local. The obj folder has the non-stripped ones for debugging, the ones from libs are deployed in the APK. The striping done by ndk-build should be safe, it strips only not needed symbols. The huge size of the libraries is not really a big deal apart from the terrible linking times - the linker removes all non-needed parts (unused functions) from the resulting binary, so I have about 1MB .so while I am linking in 200MB+ of OSG libraries. Regards, Jan
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

