Hi Keith,
thank you for your response. I am trying to compile the version of OpenVRML
that you say (0.17.12), but I am still having some problems to compile it. I
get some errors, for example:
1>c:\projects\openvrml-0.17.12\src\libopenvrml\openvrml\node.h(198): error
C2668: 'boost::bind' : ambiguous call to overloaded function
1> c:\program files
(x86)\boost\boost_1_46_1\boost\bind\bind.hpp(1480): could be
'boost::_bi::bind_t<R,F,L>
boost::bind<openvrml::node_interface_matches_field,boost::arg<I>,std::string
>(F,A1,A2)'
1> with
1> [
1> R=boost::_bi::unspecified,
1> F=openvrml::node_interface_matches_field,
1>
L=boost::_bi::list2<boost::arg<1>,boost::_bi::value<std::string>>,
1> I=1,
1> A1=boost::arg<1>,
1> A2=std::string
1> ]
1> c:\program files (x86)\microsoft visual studio
10.0\vc\include\xxbind1(334): or
'std::tr1::_Bind_fty<_Fty,_Ret,_BindN>
std::tr1::bind<openvrml::node_interface_matches_field,boost::arg<I>,std::str
ing>(_Fty,_Arg0,_Arg1)' [found using argument-dependent lookup]
1> with
1> [
1> _Fty=openvrml::node_interface_matches_field,
1> _Ret=std::tr1::_Notforced,
1>
_BindN=std::tr1::_Bind2<std::tr1::_Callable_obj<openvrml::node_interface_mat
ches_field,false>,boost::arg<1>,std::string>,
1> I=1,
1> _Arg0=boost::arg<1>,
1> _Arg1=std::string
1> ]
1> while trying to match the argument list
'(openvrml::node_interface_matches_field, boost::arg<I>, const std::string)'
1> with
1> [
1> I=1
1> ]
If I change the code in node.h
bind(node_interface_matches_field(), _1, id));
for:
boost::bind(node_interface_matches_field(), _1, id));
then I get several errors of this kind:
1>c:\projects\openvrml-0.17.12\src\libopenvrml\openvrml\node_impl_util.h(449
): error C2899: typename cannot be used outside a template declaration
Do you know how to solve those problems? I have found your instructions but
I cannot follow them without openvrml library.
Cheers
Héctor
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Keith
Parkins
Sent: martes, 23 de agosto de 2011 16:44
To: OpenSceneGraph Users
Subject: Re: [osg-users] OSG VRML plugin
Hi Héctor,
The Readme file in the src folder for the vrml plugin states that it
requires a minimum of OpenVRML 0.17.12 and Boost 1.38. I built the plugin
with OpenVRML 0.17.12 and Boost 1.46.1.
If you look through the list archives, you will find a post of mine from
last spring that explains how to modify the CmakeLists.txt file in order to
enable compilation on a Windows platform. You just need to remove the
references to the antlr and regex libraries as they are obsolete in openvrml
after ~0.17. You also need to define a macro when you are compiling a
program with the new openvrml library stating how you are going to link (see
openvrml-config.h for details). You will choose either -DOPENVRML_USE_DLL or
-DOPENVRML_USE_LIB depending on whether you are linking with the dynamic or
static library.
Hopefully that'll be all you need to do to get it to build. I haven't tried
the 0.18.x libraries, so your problem may be just a problem with a change of
the API between 0.17 and 0.18.
-K
On Tue, 23 Aug 2011, Héctor Martínez wrote:
> I have forgotten to mention that as that was an old version of
> openvrml, I have tried with the 0.18.8 version of openvrml, but it
> seems to have changed a lot and I am not able to compile it. It seems
> to be a problem with the boost library (I am using the 1.46.1 version
> of boost). Does anybody know which versions of openvrml and boost I need
for OSG 3.0.0?
>
>
>
> Héctor
>
>
>
> From: Héctor Martínez [mailto:[email protected]]
> Sent: martes, 23 de agosto de 2011 12:25
> To: [email protected]
> Subject: OSG VRML plugin
>
>
>
> Hello everyone,
>
>
>
> I am trying to compile VMRL plugin for OSG, but I am not succeeding at
all.
> I have followed those instructions:
>
>
>
>
> <http://www.openscenegraph.org/projects/osg/wiki/Support/PlatformSpeci
> fics/V
> isualStudio/VisualStudioPlugins>
> http://www.openscenegraph.org/projects/osg/wiki/Support/PlatformSpecif
> ics/Vi
> sualStudio/VisualStudioPlugins
>
>
>
> and I was able to compile openvrml, so now I have the antlr.lib,
> openvrml.lib and the regex.lib files. I have configured cmake to build
> the VRML plugin and everything OK. When I load the OSG solution in
> Visual Studio, I am able to compile everything but the VRML plugin.
> This is the output I get:
>
>
>
> 2>ClCompile:
>
> 2> IndexedFaceSet.cpp
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(23): error C2064:
> 2>term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(23): error C2228:
> 2>left
> of '.id' must have class/struct/union
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(25): error C2440:
> 'initializing' : cannot convert from 'const openvrml::field_value' to
> 'std::auto_ptr<_Ty>'
>
> 2> with
>
> 2> [
>
> 2> _Ty=openvrml::field_value
>
> 2> ]
>
> 2> No constructor could take the source type, or constructor
> overload resolution was ambiguous
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(28): error C2064:
> 2>term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(28): error C2228:
> 2>left
> of '.get' must have class/struct/union
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(43): error C2440:
> 'initializing' : cannot convert from 'const openvrml::field_value' to
> 'std::auto_ptr<_Ty>'
>
> 2> with
>
> 2> [
>
> 2> _Ty=openvrml::field_value
>
> 2> ]
>
> 2> No constructor could take the source type, or constructor
> overload resolution was ambiguous
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(49): error C2064:
> 2>term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(49): error C2228:
> 2>left
> of '.size' must have class/struct/union
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(51): error C2064:
> 2>term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(75): error C2440:
> 'initializing' : cannot convert from 'const openvrml::field_value' to
> 'std::auto_ptr<_Ty>'
>
> 2> with
>
> 2> [
>
> 2> _Ty=openvrml::field_value
>
> 2> ]
>
> 2> No constructor could take the source type, or constructor
> overload resolution was ambiguous
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(77): error C2064:
> 2>term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(77): error C2228:
> 2>left
> of '.get' must have class/struct/union
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(94): error C2440:
> 'initializing' : cannot convert from 'const openvrml::field_value' to
> 'std::auto_ptr<_Ty>'
>
> 2> with
>
> 2> [
>
> 2> _Ty=openvrml::field_value
>
> 2> ]
>
> 2> No constructor could take the source type, or constructor
> overload resolution was ambiguous
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(99): error C2064:
> 2>term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(99): error C2228:
> 2>left
> of '.size' must have class/struct/union
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(101): error
> 2>C2064: term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(101): error
> 2>C2228: left
> of '.size' must have class/struct/union
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(103): error
> 2>C2064: term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(117): error C2440:
> 'initializing' : cannot convert from 'const openvrml::field_value' to
> 'std::auto_ptr<_Ty>'
>
> 2> with
>
> 2> [
>
> 2> _Ty=openvrml::field_value
>
> 2> ]
>
> 2> No constructor could take the source type, or constructor
> overload resolution was ambiguous
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(119): error
> 2>C2064: term
> does not evaluate to a function taking 0 arguments
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(119): error
> 2>C2228: left
> of '.get' must have class/struct/union
>
> 2>..\..\..\..\src\osgPlugins\vrml\IndexedFaceSet.cpp(136): error C2440:
> 'initializing' : cannot convert from 'const openvrml::field_value' to
> 'std::auto_ptr<_Ty>'
>
> 2> with
>
> 2> [
>
> 2> _Ty=openvrml::field_value
>
> 2> ]
>
> 2> No constructor could take the source type, or constructor
> overload resolution was ambiguous
>
>
>
> There are more errors, but all of them are similar.
>
>
>
> Any ideas about what?s wrong?
>
>
>
> Thank you.
>
>
>
> Héctor
>
>
>
>
Keith Parkins U of R Center for Visual Science
[email protected] Meliora Hall, Room 253
office: (585) 275-2460 lab: (585) 275-2230
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org