Re: [osg-users] compiling trunk of osgIntrospection with osg3.0with vs2010

2011-08-04 Thread Ryan Pavlik
Carsten,

That particular error is because OutputStream (and InputStream) are
incorrectly detected as "value" types (copyable, etc.), when they are really
object types (and non-copyable). This can be fixed with a change to
genwrapper.conf. The include and typedef errors can also be fixed in that
way.

I've made those fixes and pushed an updated version to github - take a look
at the recent commits to see how I resolved the issues you mentioned (and
the others I ran into). With this, I can build the osgDB wrapper for a
3.0-line build, using Clang on Linux. (I have never tried this on Windows
before).

Please feel free to click the "Fork" button on GitHub and make whatever
changes are necessary (likely primarily to the genwrapper.conf file) to
finish the wrapper building. I'm primarily still using 2.8 so I haven't
really had time to work on getting the wrappers built properly for 3.0.

Thanks!

Ryan

On Thu, Aug 4, 2011 at 9:47 AM, Carsten Scharfe  wrote:

> Hi Ryan,
>
> ** **
>
> thank you very much for directing me to cppintrospection.
>
> This helped me a lot. I even got the most osg library wrappers compiled
> after generation of the osg wrappers and
>
> fixing some minor problems like:
>
> **-  **adding libraries to link against, like
> cppinstrospection.lib, osg.lib and OpenThreads.lib (they somehow are missing
> in the wrapper libs)
>
> **-  **adding an #include  where it was reported
> as unknown identifier
>
> **-  **correcting some TYPE_NAME_ALIASES dealing with function
> pointers, e.g.:
> TYPE_NAME_ALIAS(void*(osgDB::ObjectWrapper*),
> osgDB::RegisterWrapperProxy::AddPropFunc)
> (was generated as “TYPE_NAME_ALIAS(void(*,
> osgDB::RegisterWrapperProxy::AddPropFunc)” , with a closing bracket missing
> )
>
> ** **
>
> But I’m again stuck at compiling osgDB wrapper, with the following error
> message:
>
> ** **
>
> 1>-- Build started: Project: osgwrapper_osgDB, Configuration: Release
> Win32 --
>
> 1>  OutputStream.cpp
>
> 1>D:\development\visual studio 2010\VC\include\sstream(724): error C2248:
> 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member
> declared in class 'std::basic_ios<_Elem,_Traits>'
>
> 1>  with
>
> 1>  [
>
> 1>  _Elem=char,
>
> 1>  _Traits=std::char_traits
>
> 1>  ]
>
> 1>  D:\development\visual studio 2010\VC\include\ios(176) : see
> declaration of 'std::basic_ios<_Elem,_Traits>::basic_ios'
>
> 1>  with
>
> 1>  [
>
> 1>  _Elem=char,
>
> 1>  _Traits=std::char_traits
>
> 1>  ]
>
> 1>  This diagnostic occurred in the compiler generated function
> 'std::basic_stringstream<_Elem,_Traits,_Alloc>::basic_stringstream(const
> std::basic_stringstream<_Elem,_Traits,_Alloc> &)'
>
> 1>  with
>
> 1>  [
>
> 1>  _Elem=char,
>
> 1>  _Traits=std::char_traits,
>
> 1>  _Alloc=std::allocator
>
> 1>  ]
>
> ** **
>
> I cannot track that down, to correct it. Any advice or help is welcome.***
> *
>
> ** **
>
> Thanks in advance.
>
> ** **
>
> Cheers,
>
> Carsten
>
> _
>
> ** **
>
> Carsten Scharfe
>
> Software Developer
>
> Experiment Software ESIM ****
>
> ** **
>
> dSPACE GmbH
>
> Rathenaustraße 26
>
> 33102 Paderborn
>
> Germany
>
> ** **
>
> Tel.:  +49 5251 1638-1920
>
> http://www.dspace.com
>
> mailto:cscha...@dspace.de
>
> _
>
> ** **
>
> ** **
>
> *From:* osg-users-boun...@lists.openscenegraph.org [mailto:
> osg-users-boun...@lists.openscenegraph.org] *On Behalf Of *Ryan Pavlik
> *Sent:* Monday, August 01, 2011 7:01 PM
> *To:* OpenSceneGraph Users
> *Subject:* Re: [osg-users] compiling trunk of osgIntrospection with
> osg3.0with vs2010
>
> ** **
>
> I've gotten fairly close to building this, even using the Clang compiler.
>  You'll want to get my fork of the 'cppintrospection' library, which is just
> a name-change of osgIntrospection with some updates.
> https://github.com/rpavlik/cppintrospection
>
> ** **
>
> There were a number of changes to the config needed, and I made a number of
> other fixes in the wrapper generator, 

Re: [osg-users] compiling trunk of osgIntrospection with osg3.0with vs2010

2011-08-04 Thread Carsten Scharfe
Hi Ryan,

thank you very much for directing me to cppintrospection.
This helped me a lot. I even got the most osg library wrappers compiled after 
generation of the osg wrappers and
fixing some minor problems like:

-  adding libraries to link against, like cppinstrospection.lib, 
osg.lib and OpenThreads.lib (they somehow are missing in the wrapper libs)

-  adding an #include  where it was reported as 
unknown identifier

-  correcting some TYPE_NAME_ALIASES dealing with function pointers, 
e.g.:
TYPE_NAME_ALIAS(void*(osgDB::ObjectWrapper*), 
osgDB::RegisterWrapperProxy::AddPropFunc)
(was generated as "TYPE_NAME_ALIAS(void(*, 
osgDB::RegisterWrapperProxy::AddPropFunc)" , with a closing bracket missing )

But I'm again stuck at compiling osgDB wrapper, with the following error 
message:

1>-- Build started: Project: osgwrapper_osgDB, Configuration: Release Win32 
--
1>  OutputStream.cpp
1>D:\development\visual studio 2010\VC\include\sstream(724): error C2248: 
'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member 
declared in class 'std::basic_ios<_Elem,_Traits>'
1>  with
1>  [
1>  _Elem=char,
1>  _Traits=std::char_traits
1>  ]
1>  D:\development\visual studio 2010\VC\include\ios(176) : see 
declaration of 'std::basic_ios<_Elem,_Traits>::basic_ios'
1>  with
1>  [
1>  _Elem=char,
1>  _Traits=std::char_traits
1>  ]
1>  This diagnostic occurred in the compiler generated function 
'std::basic_stringstream<_Elem,_Traits,_Alloc>::basic_stringstream(const 
std::basic_stringstream<_Elem,_Traits,_Alloc> &)'
1>  with
1>  [
1>  _Elem=char,
1>  _Traits=std::char_traits,
1>  _Alloc=std::allocator
1>  ]

I cannot track that down, to correct it. Any advice or help is welcome.

Thanks in advance.

Cheers,
Carsten
_

Carsten Scharfe
Software Developer
Experiment Software ESIM

dSPACE GmbH
Rathenaustraße 26
33102 Paderborn
Germany

Tel.:  +49 5251 1638-1920
http://www.dspace.com
mailto:cscha...@dspace.de
_


From: osg-users-boun...@lists.openscenegraph.org 
[mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Ryan Pavlik
Sent: Monday, August 01, 2011 7:01 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] compiling trunk of osgIntrospection with osg3.0with 
vs2010

I've gotten fairly close to building this, even using the Clang compiler.  
You'll want to get my fork of the 'cppintrospection' library, which is just a 
name-change of osgIntrospection with some updates.  
https://github.com/rpavlik/cppintrospection

There were a number of changes to the config needed, and I made a number of 
other fixes in the wrapper generator, as well as the library itself. This 
improved version also includes a single-step generate and build of wrappers, 
and also reduces the size of the wrapper libraries by reducing the number of 
reflection template instantiations required.

I've used it successfully with the 2.8 branch and the Clang compiler on Linux - 
haven't tested it on other platforms yet but I've been careful to keep it 
cross-platform.

Ryan

On Mon, Aug 1, 2011 at 8:46 AM, Carsten Scharfe 
mailto:cscha...@dspace.de>> wrote:
Hi All,

I'm trying to compile osgIntrospection with OSG 3.0.0 in Visual Studio 2010.
While osgIntrospection compiles, the osgWrappers (e.g. Wrapper osg) do not.
It seem to be that VS2010 has severe Problems with finding operator-methods of 
classes such
as string or map. Maybe this is a template instatiation issue.
The error messages I'll get from VS2010:

"1>E:\OpenSceneGraph-3.0.0\include\osg/State(2477): error C2784: 'bool 
std::operator <(const std::move_iterator<_RanIt> &,const 
std::move_iterator<_RanIt2> &)' : could not deduce template argument for 'const 
std::move_iterator<_RanIt> &' from 'const std::string'
1>  D:\development\visual studio 2010\VC\include\iterator(371) : see 
declaration of 'std::operator <'"

or

"1>E:\OpenSceneGraph-3.0.0\osgIntrospection\include\osgIntrospection/ReaderWriter(217):
 error C2678: binary '>>' : no operator found which takes a left-hand operand 
of type 'std::istream' (or there is no acceptable conversion)
1.  D:\development\visual studio 2010\VC\include\istream(1053): could be 
'std::basic_istream<_Elem,_Traits> &std::operator 
>>>(std::basic_istream<_Elem,_Traits> &&,signed char *)' 
[found using argument-dependent lookup]"


In need some hints or help to sort this out. I'm definitely stuck.