[osg-users] OSG2.4 and 2.5.5 Windows static build problems
Stephan Maximilian Huber
ratzfatz at digitalmind.de
Mon Jul 21 02:21:15 PDT 2008
Christiansen, Brad schrieb:
> I have searched the archive but cant find any mention of the problem,
> though I think can remember reading about a solution some time ago on
> the list.
> I have just tried to build the static version of OSG v2.4 and v2.5.5
> using ViualStudio .Net 2003. When I do this build I get 5000+ warnings
> about dulpicate definitions when linking (LNK 4006). I then cannot link
> my aplication against the resulting .libs. Has anyone else encountered
> this problem and have a fix / workaround?
Are these link-errors related to OpenThreads? A quick and dirty fiy
change CMakeLists for all osg-libs/src from
The underlying problem is:
The setting, that you compiled OpenThreads statically is not carried out
to a public header or something. If another lib includes a header-file
of OpenThreads the compiler thinks, that OpenThreads is linked for
dynamic-usage (because OT_LIBARY_STATIC is not defined so the
EXPORT-definition for OpenThreads is not setup correctly), so you'll get
multiple defined symbols, when you try to link your app with static
OpenThreads and static osg, because osg includes OpenThreads-symbols for
IMHO the definition of OT_LIBARY_STATIC should be carried out to
OpenThreads/Config. The same should be done for OSG_LIBRARY_STATIC. On
Linux there's no such problem, because you don't have to declare
different exports for static versus dynamic linking.
I am no expert in CMake, so perhaps somebody may jump in here?
More information about the osg-users