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: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] 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:hector.marti...@sensetrix.com] > Sent: martes, 23 de agosto de 2011 12:25 > To: osg-users@lists.openscenegraph.org > 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 kpark...@cvs.rochester.edu Meliora Hall, Room 253 office: (585) 275-2460 lab: (585) 275-2230 _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org