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

Reply via email to