Paul Martz wrote:
I have a question on static builds under Win32. Since the addition of static libraries, I've been a little stumped about how the OSG examples actually link. If I don't build any static libraries, the OSG examples link fine; if I build both dynamic and static libraries, all the examples fail to link with multiply defined symbols. Upon closer inspection, it appears that none of the examples explicitly link with the DLL export .lib files, which makes me scratch my head and wonder how on Earth they were able to link successfully if I had not built the static libs. Are these examples using some kind magic Win32 implicit linking? Assuming this is correct, then that explains why the examples fail to link when both static and dynamic libraries are present -- the linker is picking up duplicate symbols from both sets of libraries. Isn't this a problem, then, for users who might want to build both static and dynamic libraries and get the examples to link?
There is some VC++ magic that goes on behind the scenes. If a project claims another project as a dependency (for tax purposes, maybe ;), and that other project generates a library, VC++ seems to implicitly link against that library without it being listed in the linker inputs.
Does this answer the question? If not, IM me -- XenonofArcticus on all major IM networks, and we can discuss it more interactively.
Thanks for any clarification, -Paul
-- Chris 'Xenon' Hanson aka Eric Hammil | http://www.3DNature.com/ eric at logrus "I set the wheels in motion, turn up all the machines, activate the programs, and run behind the scenes. I set the clouds in motion, turn up light and sound, activate the window, and watch the world go 'round." -Prime Mover, Rush. _______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
