Menu

linking problems

2009-02-08
2013-05-01
  • Robert Nagy

    Robert Nagy - 2009-02-08

    im trying to use COLLADA DOM in my project however i get the following warnings during linking... and i need some help understanding whats wrong

    2>Linking...
    2>   Creating library G:\PROJECTS\Programmering\Projects\Drone\Drone\Debug\Demo1.lib and object G:\PROJECTS\Programmering\Projects\Drone\Drone\Debug\Demo1.exp
    2>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
    2>colladaloader.lib(daeIOPluginCommon.obj) : error LNK2019: unresolved external symbol "public: virtual __thiscall daeZAEUncompressHandler::~daeZAEUncompressHandler(void)" (??1daeZAEUncompressHandler@@UAE@XZ) referenced in function "public: virtual int __thiscall daeIOPluginCommon::read(class daeURI const &,char const *)" (?read@daeIOPluginCommon@@UAEHABVdaeURI@@PBD@Z)
    2>colladaloader.lib(daeIOPluginCommon.obj) : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __thiscall daeZAEUncompressHandler::obtainRootFilePath(void)" (?obtainRootFilePath@daeZAEUncompressHandler@@QAEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "public: virtual int __thiscall daeIOPluginCommon::read(class daeURI const &,char const *)" (?read@daeIOPluginCommon@@UAEHABVdaeURI@@PBD@Z)
    2>colladaloader.lib(daeIOPluginCommon.obj) : error LNK2019: unresolved external symbol "public: __thiscall daeZAEUncompressHandler::daeZAEUncompressHandler(class daeURI const &)" (??0daeZAEUncompressHandler@@QAE@ABVdaeURI@@@Z) referenced in function "public: virtual int __thiscall daeIOPluginCommon::read(class daeURI const &,char const *)" (?read@daeIOPluginCommon@@UAEHABVdaeURI@@PBD@Z)
    2>G:\PROJECTS\Programmering\Projects\Drone\Drone\Debug\Demo1.exe : fatal error LNK1120: 3 unresolved externals

     
    • Christoph Nenning

      3 Methods of class daeZAEUncompressHandler cannot be found:

      - daeZAEUncompressHandler::obtainRootFilePath()
      - daeZAEUncompressHandler::daeZAEUncompressHandler( const  daeURI& )
      - daeZAEUncompressHandler::~daeZAEUncompressHandler()

      I need a bit more information to help you:

      - which version of VisualStudio are you using?
      - have you built the DOM as static or dynamic lib?
      - are you using generated code for COLLADA 1.4 or 1.5?

       
      • wooyay

        wooyay - 2009-02-11

        I get exactly the same messages. Compiling Collada 1.5 dom worked without a problem for both static and dynamic. Now when I build OpenSceneGraph 2.8 RC5 in VS 2008 I get these error messages:

        1>libcollada15dom21-sd.lib(daeIOPluginCommon.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: virtual __thiscall daeZAEUncompressHandler::~daeZAEUncompressHandler(void)" (??1daeZAEUncompressHandler@@UAE@XZ)" in Funktion ""public: virtual int __thiscall daeIOPluginCommon::read(class daeURI const &,char const *)" (?read@daeIOPluginCommon@@UAEHABVdaeURI@@PBD@Z)".
        1>libcollada15dom21-sd.lib(daeIOPluginCommon.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __thiscall daeZAEUncompressHandler::obtainRootFilePath(void)" (?obtainRootFilePath@daeZAEUncompressHandler@@QAEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)" in Funktion ""public: virtual int __thiscall daeIOPluginCommon::read(class daeURI const &,char const *)" (?read@daeIOPluginCommon@@UAEHABVdaeURI@@PBD@Z)".
        1>libcollada15dom21-sd.lib(daeIOPluginCommon.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall daeZAEUncompressHandler::daeZAEUncompressHandler(class daeURI const &)" (??0daeZAEUncompressHandler@@QAE@ABVdaeURI@@@Z)" in Funktion ""public: virtual int __thiscall daeIOPluginCommon::read(class daeURI const &,char const *)" (?read@daeIOPluginCommon@@UAEHABVdaeURI@@PBD@Z)".

        Sorry about the german, the compiler is complaining about unresolved symbols.

        When I configure OSG to use the dynamic collada libs I get the following unresolved symbols:

        3>daeReader.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_TYPE_INSTANCE_RIGID_BODY" (?COLLADA_TYPE_INSTANCE_RIGID_BODY@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_GEOMETRY" (?COLLADA_ELEMENT_GEOMETRY@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LIBRARY_GEOMETRIES" (?COLLADA_ELEMENT_LIBRARY_GEOMETRIES@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TRIFANS" (?COLLADA_ELEMENT_TRIFANS@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TRISTRIPS" (?COLLADA_ELEMENT_TRISTRIPS@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LINESTRIPS" (?COLLADA_ELEMENT_LINESTRIPS@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_VCOUNT" (?COLLADA_ELEMENT_VCOUNT@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_POLYLIST" (?COLLADA_ELEMENT_POLYLIST@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_POLYGONS" (?COLLADA_ELEMENT_POLYGONS@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TRIANGLES" (?COLLADA_ELEMENT_TRIANGLES@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_P" (?COLLADA_ELEMENT_P@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LINES" (?COLLADA_ELEMENT_LINES@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_VERTICES" (?COLLADA_ELEMENT_VERTICES@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_MESH" (?COLLADA_ELEMENT_MESH@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_PARAM" (?COLLADA_ELEMENT_PARAM@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_ACCESSOR" (?COLLADA_ELEMENT_ACCESSOR@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_FLOAT_ARRAY" (?COLLADA_ELEMENT_FLOAT_ARRAY@@3PBDB)".
        3>daeWGeometry.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_SOURCE" (?COLLADA_ELEMENT_SOURCE@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TECHNIQUE" (?COLLADA_ELEMENT_TECHNIQUE@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TECHNIQUE" (?COLLADA_ELEMENT_TECHNIQUE@@3PBDB)" in Funktion ""public: virtual void __thiscall osgdae::daeWriter::apply(class osg::Group &)" (?apply@daeWriter@osgdae@@UAEXAAVGroup@osg@@@Z)".
        3>daeWTransforms.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TECHNIQUE" (?COLLADA_ELEMENT_TECHNIQUE@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_EXTRA" (?COLLADA_ELEMENT_EXTRA@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_EXTRA" (?COLLADA_ELEMENT_EXTRA@@3PBDB)".
        3>daeWTransforms.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_EXTRA" (?COLLADA_ELEMENT_EXTRA@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_IMAGE" (?COLLADA_ELEMENT_IMAGE@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_PROFILE_COMMON" (?COLLADA_ELEMENT_PROFILE_COMMON@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_EFFECT" (?COLLADA_ELEMENT_EFFECT@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LIBRARY_EFFECTS" (?COLLADA_ELEMENT_LIBRARY_EFFECTS@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_MATERIAL" (?COLLADA_ELEMENT_MATERIAL@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LIBRARY_MATERIALS" (?COLLADA_ELEMENT_LIBRARY_MATERIALS@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_INSTANCE_MATERIAL" (?COLLADA_ELEMENT_INSTANCE_MATERIAL@@3PBDB)".
        3>daeWMaterials.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_BIND_MATERIAL" (?COLLADA_ELEMENT_BIND_MATERIAL@@3PBDB)".
        3>daeWriter.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_NODE" (?COLLADA_ELEMENT_NODE@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_NODE" (?COLLADA_ELEMENT_NODE@@3PBDB)".
        3>daeWTransforms.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_NODE" (?COLLADA_ELEMENT_NODE@@3PBDB)".
        3>daeWriter.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_VISUAL_SCENE" (?COLLADA_ELEMENT_VISUAL_SCENE@@3PBDB)".
        3>daeWriter.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LIBRARY_VISUAL_SCENES" (?COLLADA_ELEMENT_LIBRARY_VISUAL_SCENES@@3PBDB)".
        3>daeWriter.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_SCENE" (?COLLADA_ELEMENT_SCENE@@3PBDB)".
        3>daeWriter.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_ASSET" (?COLLADA_ELEMENT_ASSET@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LIGHT" (?COLLADA_ELEMENT_LIGHT@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LIBRARY_LIGHTS" (?COLLADA_ELEMENT_LIBRARY_LIGHTS@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_CAMERA" (?COLLADA_ELEMENT_CAMERA@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_LIBRARY_CAMERAS" (?COLLADA_ELEMENT_LIBRARY_CAMERAS@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_ZFAR" (?COLLADA_ELEMENT_ZFAR@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_ZNEAR" (?COLLADA_ELEMENT_ZNEAR@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_ASPECT_RATIO" (?COLLADA_ELEMENT_ASPECT_RATIO@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_YFOV" (?COLLADA_ELEMENT_YFOV@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_XFOV" (?COLLADA_ELEMENT_XFOV@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_PERSPECTIVE" (?COLLADA_ELEMENT_PERSPECTIVE@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TECHNIQUE_COMMON" (?COLLADA_ELEMENT_TECHNIQUE_COMMON@@3PBDB)".
        3>daeWSceneObjects.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_OPTICS" (?COLLADA_ELEMENT_OPTICS@@3PBDB)".
        3>daeWTransforms.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_MATRIX" (?COLLADA_ELEMENT_MATRIX@@3PBDB)".
        3>daeWTransforms.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_SCALE" (?COLLADA_ELEMENT_SCALE@@3PBDB)".
        3>daeWTransforms.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_ROTATE" (?COLLADA_ELEMENT_ROTATE@@3PBDB)".
        3>daeWTransforms.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""char const * const COLLADA_ELEMENT_TRANSLATE" (?COLLADA_ELEMENT_TRANSLATE@@3PBDB)".
        3>F:\devel\OpenSceneGraph-2.8.0-rc5\build\bin\Debug\..\osgPlugins-2.8.0\osgdb_daed.dll : fatal error LNK1120: 49 nicht aufgelöste externe Verweise.

        Should I repost this to the OSG folks or is this a collada error?

         
        • wooyay

          wooyay - 2009-02-12

          which simply is because OSG does not support 1.5, only 1.4. :(

           
    • Christoph Nenning

      hmm, I did a release build with current svn trunk and project vc8-1.5.
      I don't have these linker issues.

      Please use depends (http://dependencywalker.com/) to find out if those missing symbols are exported in your builds of libcollada15dom22.dll.

       
  • Myrmecophagavir

    Myrmecophagavir - 2010-03-13

    I also got the same link errors - missing daeZAEUncompressHandler methods. The problem is that daeZAEUncompressHandler.cpp / h aren't included in the Visual Studio dom-static 1.5 project. They're in place in dom-static 1.4, and in the DLL projects, just not static 1.5. Could this be fixed in the download packages please?

     

Log in to post a comment.