Hi Manu, I have done some experiments with the static build side, and while its not a full solution, I've checked in a few additions. First up is some additions to osgDB that add a proxy help class and a couple of macros. The first macro replaces the old Proxy object usage in the plugin, for the ive plugin it now looks like:
// now register with Registry to instantiate the above // reader/writer. REGISTER_OSGPLUGIN(ive, ReaderWriterIVE) This both constructs the C++ proxy and provides the extern "C" void osgdb_ive(void) function. Then in the application you now add: #include<...> USE_OSGPLUGIN(ive) main(...) { ... } Note, the macro doesn't require you to add the function call to the main. This is thanks the USE_OSGPLUGIN use a local C++ proxy object to call it for you automatically. I also copied and pasted osgviewer app across to example and called it osgstaticviewer, this example only builds during static build. It includes the extra plugin link line in the CMakeLists.txt as well as the above USE_OSGPLUGIN(ive). It'll need further expanding on in future. I have also add a C function into GraphicsWindowX11.cpp call void graphicswindow_X11(void), and calling of this in osgstaticviewer's main but while it does cause the GraphicsWindowX11.o to be linked and even the proxies to register the WindowSystemInterfaceX11, the related static pointer in src/osg/GraphicsContext.cpp resets itself to 0 for some unknown reason, programatically its never reset to 0, it just happens?#!. I have now clue why it doesn't work. Anyway, what I've checked in might inch us closer to a final easing of making static apps. Robert. _______________________________________________ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/