Hello,

On Thu, Nov 22, 2012 at 10:48 AM, Philip Lamb <p...@eden.net.nz> wrote:

> The second thing I did was add:
>
> LOCAL_CPPFLAGS += -fvisibility-hidden
>

Careful about this - visibility could break things if the shared libraries
are not properly exporting symbols. In Linux it is quite common to build
shared libs out of static ones by simple relinking, without explicitly
exporting, relying on the implicit export of every symbol. This is exactly
the opposite behaviour than in Windows where the default is to export
nothing from the DLLs. If you enable visibility, the non-exported symbols
will not be accessible anymore (and the linker likely removes them) and the
application will likely crash when it loads such shared library. I think
OSG is safe from this point of view due to its extensive macros dealing
with imports/exports, but if you are using a library that doesn't have a
DLL version on Windows (something Linux or Android-specific), you could get
burned easily.


>
> to my Android.mk and that shrinks things a bit further too. End result is
> total of 40MB total for all 4 architectures.
>

Do you actually need to compile for MIPS and x86? x86 Android devices are
very very rare and I have never heard about a MIPS one (maybe some TVs?).
The armeabi and armeabi-v7a are the most common ones, in fact, if you want
to cut down even more (and don't mind a bit of performance loss), armeabi
binaries will run on everything.

Regards,

Jan
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to