
Re: collada-dom-2.2 Boost Dependences
I'm posting on this old thread because I just ran into the same problem, and after quite a bit of confusion reading everyone's posts I came upon a solution for building the libraries that I find to work pretty well (so far).
As Marcus pointed out, the libs can be built without Boost, which avoids the whole pitfall of trying to debug their compiler errors. I haven't looked very much at the code, so I'm not sure which functions I don't get access to without the Boost libs, but at this point I just wanted to get a working lib and begin working with the API in my own project.
Steps:
1) Download the latest DOM source here (use an SVN client like TortoiseSVN):
https://collada-dom.svn.sourceforge.net/svnroot/collada-dom/trunk/2) In the archive, find the "collada-dom-2.2\collada-dom\dom\projects" folder. I decided to build for Collada spec version 1.4 in Visual Studio 8 (2005), so I opened the project file labelled "vc8-1.4". Regardless of the version, once you have the project open in Visual Studio, set these in the project properties:
Under "C/C++ > Preprocessor >
Preprocessor Definitions" I have these added to the list:
NO_BOOST
NO_ZAE
*Note - NO_BOOST successfully discludes all the code which references the boost libraries, except for some of the code which relates to performing operations with compressed collada files. I didn't need this fuctionality so I just excluded it as well to get rid of the boost references. At this point I was able to build the DOM libs/dlls.
*Note - As I write this the latest version is labelled as v2.2 in , but the file name is still showing 2.1 in"Configuration Properties > Linker > General > Output File" (libcollada14dom21-d.dll instead of libcollada14dom22-d.dll ). As long as you reference the filename the same when you link to your project, it won't make a difference.
OK - So assuming you built the project using the guidelines above, you're ready to link DOM to your own project. Open the project and go to the Project Properties.
1) Under "C/C++ > General >
Additional Include Directories" add some new entries into the list:
<FULL PATH TO COLLADA DOM FOLDER>\collada-dom-2.2\collada-dom\dom\include
<FULL PATH TO COLLADA DOM FOLDER>\collada-dom-2.2\collada-dom\dom\include\<VERSION OF COLLADA YOU WANT>
example:
C:\collada-dom-2.2\collada-dom\dom\include
C:\collada-dom-2.2\collada-dom\dom\include\1.4
2) Add these to "Preprocessor >
Preprocessor Definitions" of your project:
DOM_DYNAMIC
NO_BOOST
*Note - DOM_DYNAMIC is only assuming you're linking the libs dynamically.
3) Add this line to "Linker > General >
Additional Library Directores":
<FULL PATH TO COLLADA DOM FOLDER>\collada-dom-2.2\collada-dom\dom\build\<VS VERSION FOLDER>
example:
C:\collada-dom-2.2\collada-dom\dom\build\vc8-1.4-d
4) Add this line to "Linker > Input >
Additional Dependencies":
libcollada<collada version>dom<domversion><debug or release tag>.lib
example:
(collada version 1.4 dom version 2.2 debug lib build)
libcollada14dom22-d.lib
*Again, if you're building the latest 2.2 build, your file name might be different so check on it.
5) Finally make sure you #include <dae.h> and any other headers you may need in your project source file. There's more on that in the Wiki.
At this point I was able to build my project and I successfully called some of the simple API calls, such as in the example here:
http://collada.org/mediawiki/index.php/ ... _documentsI hope this helps save some other people some time.