-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Fri, 10 Feb 2006, Reed Hedges wrote:

Hi Karsten, great to hear from you again!

...mesh link errors...
(1) Results from the fact that everything is compiled with the flag -
fvisibility=hidden,
which is a nice feature, but obviously there are a few missing API
exports in the code.
fix: add API export to libs/vos/extensions/revcontrol/versioned.hh
in the same manner as the other libs/vos/extension/* modules have, doh.
May also be necessary in other parts of the code.

I think that like Linux, nothing should be hidden. Why is -fvisibility=hidden
given? Where is that flag coming from? VOS?  a pkg-config?

This flag has to do with which symbols in a library file are exported for use in linking. By specifying the public .so/.dll API explicitly, it reduces the size of the binary, speeds up linking/loading time, and helps avoid namespace collisions between libraries.

- -fvisibility=hidden means all symbols are hidden by default unless explicitly exported. The macros VOS_API, VUTIL_API etc are used to declare which classes/functions are to be made public.

This is basically just the GCC version of __declspec(dllexport) which is required for compiling DLLs on Windows.

The reason why VOS uses it on GCC now is because Crystal Space started using it, which meant that the csvosa3dl plugin was being compiled with it. With the csvosa3dl plugin compiled one way, and VOS itself compiled another way, it broke stuff like exceptions rather badly. It made more sense to fix VOS (to use this feature) than to struggle with CS to disable it making VOS a special case.

[   Peter Amstutz   ][ [EMAIL PROTECTED] ][ [EMAIL PROTECTED]  ]
[Lead Programmer][Interreality Project][Virtual Reality for the Internet]
[ VOS: Next Generation Internet Communication][ http://interreality.org ]
[ http://interreality.org/~tetron ][ pgpkey:  pgpkeys.mit.edu  18C21DF7 ]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFD7TU+aeHUyhjCHfcRAqVrAJ9z7vh1VsxTTUPkkIzM02c956DhQQCglWQ8
kdb90dNBUk2EKKPN2dXeIMw=
=79PE
-----END PGP SIGNATURE-----


_______________________________________________
vos-d mailing list
vos-d@interreality.org
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d

Reply via email to