Marcus Lindblom wrote: >Comment on the declspecs: > >Looking at that it seems as if OSG_BUILD_DLL should be defined for when >building applications as well, since they need the 'dllimport' to be >able to link to opensg-dlls. (unless, opensg is built to static libs and >you link your application to them, creating one exe and no dlls, then it >looks ok, but I suspect you are linking to the stub-libs for the dlls as >usual?) > > Yes, we don't even build static libraries in the new build.
Should we be building static libraries? Does anyone use static libs for OpenSG? -Allen >Cheers, >/Marcus > >Allen Bierbaum wrote: > > >>All the libraries compile now but I get problems compiling >>applications. I have traced it down to the usage of defines like >>OSG_SYSTEM_EXPIMP_TMPL in OSGSystemDef.h. >> >>Here is the rundown: >> >>The code in OSGSystemDef.h look like: >> >>#if defined(WIN32) && defined(OSG_BUILD_DLL) >># ifdef OSG_COMPILESYSTEMLIB >># define OSG_SYSTEM_DLLMAPPING __declspec(dllexport) >># define OSG_SYSTEM_EXPIMP_TMPL >># else >># define OSG_SYSTEM_DLLMAPPING __declspec(dllimport) >># define OSG_SYSTEM_EXPIMP_TMPL extern >># endif >>#else >>#define OSG_SYSTEM_DLLMAPPING >>#endif >> >>As you can see, when building a DLL OSG_SYSTEM_EXPIMP_TMPL is defined so >>either nothing or extern. >> >>But with compiling an application, it doesn't get defined to anything. >> >>This is a problem for code that uses it. For example in >>OSGSceneFileHandler.h there is code like this: >> >>#if defined(WIN32) >># if !defined(OSG_COMPILE_SCENEFILEHANDLER) >>OSG_SYSTEM_EXPIMP_TMPL >>template class OSG_SYSTEM_DLLMAPPING SingletonHolder<SceneFileHandlerBase>; >># endif >>#endif >> >>(note: the OSG_COMPILE_SCENEFILEHANDLER is defined only in >>OSGSceneFileHandler.cpp so the normal case is to include this line of >>code when including the header) >> >>The compile horks on this because OSG_SYSTEM_EXPIMP_TMPL doesn't mean >>anything to it. I am guessing that what we want is to have it defined >>as extern by default when we are on windows. On a side note, I would >>also expect that on windows we would want to use dllimport by default as >>well, but maybe I am missing something. >> >>I would expect the code to look more like: >> >>#if defined(WIN32) //&& defined(OSG_BUILD_DLL) >># ifdef OSG_COMPILESYSTEMLIB >># define OSG_SYSTEM_DLLMAPPING __declspec(dllexport) >># define OSG_SYSTEM_EXPIMP_TMPL >># else >># define OSG_SYSTEM_DLLMAPPING __declspec(dllimport) >># define OSG_SYSTEM_EXPIMP_TMPL extern >># endif >>#else >>#define OSG_SYSTEM_DLLMAPPING >>#define OSG_SYSTEM_EXPIMP_TMPL >>#endif >> >>But things work for the configure build, so what am I missing? >> >>-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 >> >> >> > > >------------------------------------------------------------------------- >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 > > > ------------------------------------------------------------------------- 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
