Hi Peter, For most users moving from 2.6 to 2.8.2 should simply be a case of rebuilding the OSG and your app, typically no code or link changes should be required. It looks to me link your app isn't linking to the core OSG library for some reason, so go check what you app is linking against and make sure all the correct libs are in the right places w.r.t project files.
Robert. On Mon, Oct 26, 2009 at 2:19 AM, Peter Bear <[email protected]> wrote: > Hi, > I'm working with a project right now, and it was using 2.6, and it was > compiling fine until I implemented the shadow code using osgShadow, however I > seem to have fixed the link errors from shadows by updating the OSG Libraries > to 2.8.2 from 2.6, however now I get these linker errors: > > > Code: >>WindowManagerViewerNode.obj : error LNK2001: unresolved external symbol >>"public: virtual class osg::Switch const * __thiscall >>osg::Node::asSwitch(void)const " (?asswi...@node@osg@@ubepbvswi...@2@XZ) > 3>Control.obj : error LNK2001: unresolved external symbol "public: virtual > class osg::Switch const * __thiscall osg::Node::asSwitch(void)const " > (?asswi...@node@osg@@ubepbvswi...@2@XZ) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Switch const * __thiscall > osg::Node::asSwitch(void)const " (?asswi...@node@osg@@ubepbvswi...@2@XZ) > 3>WindowManager.obj : error LNK2001: unresolved external symbol "public: > virtual class osg::Switch const * __thiscall osg::Node::asSwitch(void)const " > (?asswi...@node@osg@@ubepbvswi...@2@XZ) > 3>WindowManagerViewer.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Switch const * __thiscall > osg::Node::asSwitch(void)const " (?asswi...@node@osg@@ubepbvswi...@2@XZ) > 3>WindowManagerViewerNode.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Switch * __thiscall osg::Node::asSwitch(void)" > (?asswi...@node@osg@@uaepavswi...@2@XZ) > 3>Control.obj : error LNK2001: unresolved external symbol "public: virtual > class osg::Switch * __thiscall osg::Node::asSwitch(void)" > (?asswi...@node@osg@@uaepavswi...@2@XZ) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Switch * __thiscall osg::Node::asSwitch(void)" > (?asswi...@node@osg@@uaepavswi...@2@XZ) > 3>WindowManager.obj : error LNK2019: unresolved external symbol "public: > virtual class osg::Switch * __thiscall osg::Node::asSwitch(void)" > (?asswi...@node@osg@@uaepavswi...@2@XZ) referenced in function "public: > virtual bool __thiscall csp::wf::WindowManager::onClick(int,int)" > (?oncl...@windowmanager@w...@csp@@uae_...@z) > 3>WindowManagerViewer.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Switch * __thiscall osg::Node::asSwitch(void)" > (?asswi...@node@osg@@uaepavswi...@2@XZ) > 3>WindowManagerViewerNode.obj : error LNK2019: unresolved external symbol > "public: virtual class osg::Geode const * __thiscall > osg::Node::asGeode(void)const " (?asge...@node@osg@@ubepbvge...@2@XZ) > referenced in function "public: __thiscall > csp::wf::WindowManagerViewerNode::WindowManagerViewerNode(int,int)" > (??0windowmanagerviewern...@wf@csp@@q...@hh@Z) > 3>Control.obj : error LNK2001: unresolved external symbol "public: virtual > class osg::Geode const * __thiscall osg::Node::asGeode(void)const " > (?asge...@node@osg@@ubepbvge...@2@XZ) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Geode const * __thiscall > osg::Node::asGeode(void)const " (?asge...@node@osg@@ubepbvge...@2@XZ) > 3>WindowManager.obj : error LNK2001: unresolved external symbol "public: > virtual class osg::Geode const * __thiscall osg::Node::asGeode(void)const " > (?asge...@node@osg@@ubepbvge...@2@XZ) > 3>WindowManagerViewer.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Geode const * __thiscall > osg::Node::asGeode(void)const " (?asge...@node@osg@@ubepbvge...@2@XZ) > 3>WindowManagerViewerNode.obj : error LNK2019: unresolved external symbol > "public: virtual class osg::Geode * __thiscall osg::Node::asGeode(void)" > (?asge...@node@osg@@uaepavge...@2@XZ) referenced in function "public: > __thiscall osg::ref_ptr<class osg::Group>::~ref_ptr<class osg::Group>(void)" > (??1?$ref_...@vgroup@osg@@@osg@@q...@xz) > 3>Control.obj : error LNK2001: unresolved external symbol "public: virtual > class osg::Geode * __thiscall osg::Node::asGeode(void)" > (?asge...@node@osg@@uaepavge...@2@XZ) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Geode * __thiscall osg::Node::asGeode(void)" > (?asge...@node@osg@@uaepavge...@2@XZ) > 3>WindowManager.obj : error LNK2001: unresolved external symbol "public: > virtual class osg::Geode * __thiscall osg::Node::asGeode(void)" > (?asge...@node@osg@@uaepavge...@2@XZ) > 3>WindowManagerViewer.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Geode * __thiscall osg::Node::asGeode(void)" > (?asge...@node@osg@@uaepavge...@2@XZ) > 3>Control.obj : error LNK2001: unresolved external symbol "public: virtual > class osg::BoundingSphereImpl<class osg::Vec3f> __thiscall > osg::Transform::computeBound(void)const " > (?computebo...@transform@osg@@ube?av?$boundingspherei...@vvec3f@osg@@@2...@xz) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::BoundingSphereImpl<class osg::Vec3f> __thiscall > osg::Transform::computeBound(void)const " > (?computebo...@transform@osg@@ube?av?$boundingspherei...@vvec3f@osg@@@2...@xz) > 3>WindowManagerViewer.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::BoundingSphereImpl<class osg::Vec3f> __thiscall > osg::Transform::computeBound(void)const " > (?computebo...@transform@osg@@ube?av?$boundingspherei...@vvec3f@osg@@@2...@xz) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::BoundingBoxImpl<class osg::Vec3f> __thiscall > osgText::TextBase::computeBound(void)const " > (?computebo...@textbase@osgText@@ube?av?$boundingboxi...@vvec3f@osg@@@osg@@XZ) > 3>ControlGeometryBuilder.obj : error LNK2019: unresolved external symbol > "__declspec(dllimport) public: __thiscall > osg::DrawArrays::DrawArrays(unsigned int,int,int,int)" > (__imp_??0drawarr...@osg@@q...@ihhh@Z) referenced in function "private: > virtual class osg::Geometry * __thiscall > csp::wf::ControlGeometryBuilder::buildRectangle(float,float,float,float,float,class > osg::Vec4f const &,class osg::Vec4f const &,class osg::Vec4f const &,class > osg::Vec4f const &)const " > (?buildrectan...@controlgeometrybuilder@w...@csp@@ebepavgeome...@osg@@mmmmmabvve...@5@0...@z) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::BoundingBoxImpl<class osg::Vec3f> __thiscall > osg::Drawable::computeBound(void)const " > (?computebo...@drawable@osg@@ube?av?$boundingboxi...@vvec3f@osg@@@2...@xz) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Geode const * __thiscall > osg::Geode::asGeode(void)const " (?asge...@geode@osg@@ubepb...@xz) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::Geode * __thiscall osg::Geode::asGeode(void)" > (?asge...@geode@osg@@uaepa...@xz) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::BoundingSphereImpl<class osg::Vec3f> __thiscall > osg::Geode::computeBound(void)const " > (?computebo...@geode@osg@@ube?av?$boundingspherei...@vvec3f@osg@@@2...@xz) > 3>ControlGeometryBuilder.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::BoundingSphereImpl<class osg::Vec3f> __thiscall > osg::Group::computeBound(void)const " > (?computebo...@group@osg@@ube?av?$boundingspherei...@vvec3f@osg@@@2...@xz) > 3>WindowManager.obj : error LNK2001: unresolved external symbol "public: > virtual class osg::BoundingSphereImpl<class osg::Vec3f> __thiscall > osg::Group::computeBound(void)const " > (?computebo...@group@osg@@ube?av?$boundingspherei...@vvec3f@osg@@@2...@xz) > 3>WindowManagerViewerNode.obj : error LNK2001: unresolved external symbol > "public: virtual class osg::BoundingSphereImpl<class osg::Vec3f> __thiscall > osg::Group::computeBound(void)const " > (?computebo...@group@osg@@ube?av?$boundingspherei...@vvec3f@osg@@@2...@xz) > 3>ControlGeometryBuilder.obj : error LNK2019: unresolved external symbol > "__declspec(dllimport) public: class osg::BoundingBoxImpl<class osg::Vec3f> > const & __thiscall osg::Drawable::getBound(void)const " > (__imp_?getbo...@drawable@osg@@qbeabv?$boundingboxi...@vvec3f@osg@@@2...@xz) > referenced in function "public: virtual struct csp::wf::Size __thiscall > csp::wf::ControlGeometryBuilder::getSizeOfText(class > std::basic_string<char,struct std::char_traits<char>,class > std::allocator<char> > const &,class std::basic_string<char,struct > std::char_traits<char>,class std::allocator<char> > const &,float)const " > (?getsizeoft...@controlgeometrybuilder@w...@csp@@ube?aus...@23@abv?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@0...@z) > 3>cspwf\.bin\cspwf.dll : fatal error LNK1120: 13 unresolved externals > > > > I tried compiling the trunk which I haven't changed against 2.8.2, and it > gave the same errors, so I know that something changed in OSG, I'm just > trying to figure out what would have changed to cause these linker errors. > > Thank you! > > Cheers, > Peter > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=18686#18686 > > > > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

