This morning I spent some time working on getting the scons build for 
OpenSG 2.0 working on windows. I have checked in changes that allow the 
build to nearly complete.   I made quite a bit of progress but I ran 
into two issues.

1) I am getting the following linking error when trying to link the 
OSGWindowWIN32_d library.  Any ideas?

cl /nologo /Od /Ob0 /Z7 /W1 /MDd /EHsc /GR /TP 
/Ic:\Software\boost\boost_1_33_1 /DWIN32 /D_WINDOWS /D_DEBUG /DOSG_BUILD_
DLL /DOSG_COMPILEWINDOWWIN32LIB /Ibuild.win32\instlinks\include 
/Ibuild.win32\instlinks\include\OpenSG /c 
Source\WindowSystem\WIN32\OSGWIN32Window.cpp 
/Fobuild.win32\type-debug--arch-default\Source\WindowSystem\WIN32\OSGWIN32Window.obj
OSGWIN32Window.cpp
link /nologo /DEBUG /dll 
/out:build.win32\type-debug--arch-default\Source\OSGWindowWIN32_d.dll 
/implib:build.win32\type-
debug--arch-default\Source\OSGWindowWIN32_d.lib 
/LIBPATH:C:\Software\boost\boost_1_33_1\lib /LIBPATH:build.win32\instlin
ks\lib OSGBase_d.lib OSGSystem_d.lib opengl32.lib glu32.lib user32.lib 
kernel32.lib winmm.lib wsock32.lib oldnames.lib b
uild.win32\type-debug--arch-default\Source\WindowSystem\WIN32\OSGWIN32WindowDataFields.obj
 
build.win32\type-debug--arch-
default\Source\WindowSystem\WIN32\OSGWIN32WindowBase.obj 
build.win32\type-debug--arch-default\Source\WindowSystem\WIN32\
OSGWIN32Window.obj
   Creating library 
build.win32\type-debug--arch-default\Source\OSGWindowWIN32_d.lib and 
object build.win32\type-debug--
arch-default\Source\OSGWindowWIN32_d.exp
OSGWIN32Window.obj : error LNK2019: unresolved external symbol 
[EMAIL PROTECTED] referenced in function "public: virt
ual bool __thiscall OSG::WIN32Window::swap(void)" 
([EMAIL PROTECTED]@OSG@@UAE_NXZ)
build.win32\type-debug--arch-default\Source\OSGWindowWIN32_d.dll : fatal 
error LNK1120: 1 unresolved externals
scons: *** 
[build.win32\type-debug--arch-default\Source\OSGWindowWIN32_d.dll] Error 
1120
scons: building terminated because of errors.

As far as I can tell the unresolved symbol should be defined in 
opengl32.lib.

2) I found a cycle in the library dependencies.  This shows up on win32 
and on Linux.

The way we build with scons we have the build of library A depend upon 
the build of library B if A needs to link against B.  This is a pretty 
straight forward dependency and makes sense.  If the Base lib changes 
then the libraries that use Base should relink against the changed library.

Unfortuantely there is a problem with OSGRenderTraversal and OSGWindow.

Source/System/NodeCores/Groups/Light/Shadow is put into the 
OSGRenderTraversal library.  But there is code in 
OSGSimpleShadowMapEngine.cpp that uses a MatrixCamera (it uses 
setModelViewMatrix and setProjectionMatrix).  These methods are defined 
in Source/System/Window/Camera/OSGMatrixCameraBase which is part of the 
OSGWindow library.  At the same time, the Window classes use things out 
of the OSGRenderTraversal library for rendering.  So this creates a 
cycle where both libraries depend upon each other.

Does this make sense or am I missing something?

If you want to see the problem in action go to the build.info file in 
the Shadow directory and comment out the stop_traversal line.  This will 
then try to build this code into the system library and will trigger the 
dependency problem.

Please let me know if you have any ideas.  I would like to get the 
windows build polished off ASAP.

-Allen


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to