linker errors on dom upgrade


concerning my last thread, i tried to update my collada DOM. I downloaded the installers for windows and run them.
unfortunately i get tons of linker errors. i’ll just shortly describe my setup:

  • system vars are set correctly
  • additional include:
  • additional dependencies:

the errors i get have two common types:

Error 2 error LNK2001: unresolved external symbol “char const * const COLLADA_ELEMENT_PROFILE_COMMON” (?COLLADA_ELEMENT_PROFILE_COMMON@@3PBDB) colladaLoader.obj


Error 26 error LNK2001: unresolved external symbol “public: static class daeMetaElement * domLibrary_images::_Meta” (?_Meta@domLibrary_images@@2PAVdaeMetaElement@@A) colladaLoader.obj

do i miss something important? my header includes are as before:
#include “dae.h”
#include “dom/domCOLLADA.h”
#include “dom/domConstants.h”

was there a change in those file?


I think I know your problem.
You are linking against the DOM dynamicly. There are two things. 1) the dynamic COLLADA DOM already links in libxml2 and zlib and iconv (dynamicly). That wouldn’t cause your errors but just for your info.
2) To link against the DOM dynamically you need to have this defined DOM_DYNAMIC. By default we expect client apps to static link (because thats what they are all doing prior to this release) so if you are dynamic linking you need to define that.

I had this same error yesturday and after reading your post I figured it out that I was missing that too. My program links fine now. I’m pretty sure yours will be fine after that.


thx! now it builds again.
the problem now is that on starting (.exe or debug mode) i get a message that libcollada141dom12_d.dll cannot be found (though while compiling it’s no problem). if i try to link against the dll i get an error of an invalid or corrupt file. if i try to build colladaDOM with the option DOM_DYNAMIC i get quite a lot of errors, but i think that is also not what you meant. looks like it somehow needs to be linked in the system.
i should really link dynamically, since if i understand this right static linking would mean introducing the GPL to the code.

copying the libcollada141dom12_d.dll to my working directory solved the problem…