Hi Allen, > 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
if you want to create a activex plugin it makes sense to compile everything in one executable. Andreas > >>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 > > ------------------------------------------------------------------------- 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
