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
