collada-dom-2.2 Boost Dependences

dom compile with -DNO_BOOST or DNO_BOOST but my app don’t because of ‘boost/version.hpp’: No such file or directory
Their is no DNO_BOOST anywhere in dom, only NO_BOOST which break dom build.

-D is a compiler command line option that defines a preprocessor symbol (e.g. NO_BOOST).

Code that depends on Boost should be wrapped in a conditional compilation block, e.g.

#ifndef NO_BOOST
#include “boost/version.hpp”
#endif

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):
    COLLADA Document Object Model (DOM) download | SourceForge.net

  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&lt;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

  1. 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.

  1. Add this line to “Linker > General > Additional Library Directores”:

<FULL PATH TO COLLADA DOM FOLDER>\collada-dom-2.2\collada-dom\dom\build&lt;VS VERSION FOLDER>

example:
C:\collada-dom-2.2\collada-dom\dom\build\vc8-1.4-d

  1. 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.

  1. 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/ … _documents

I hope this helps save some other people some time.

*One other note - don’t forget to add the folder containing the libs into the PATH environment variable (or copy the files into the same directory as your own project executable).

nereal,

Do you think I am going to have any issues with this if I am running all of my paths in to the cloud. (Everything is there)

Hi,

I’m trying to build the collada-dom-2.2 VC++ 2010 projects in C:\Program Files\Collada DOM\dom\projects\vc10-1.5 and I keep getting a compiler warning about “Unknown compiler version - please run the configure tests and report the results”.

I tried looking up the warning and the best I could find was some pages translated from japanese that suggested this was due to me having an out of date version of boost.

I tried downloading the newest version of boost I could find which was boost_1_47_0.zip, but I didn’t know what it was for or where it was supposed to go, so I tried adding NO_BOOST and NO_ZAE to Configuration Properties->C/C+±>Preprocessor->Prerocessor Definitions in each project’s properties.

That’s stopped the warning, but I still don’t know what boost is for, what I’m supposed to do with it or if I even need it.

I found some instructions on http://www.collada.org/mediawiki/index. … l_Studio_4, but they seem to be from an earlier version and I expect I’d still need to let the collada projects know where the library gets built.

Would I just do what’s there and replace 8 with 9 and 9 with 10, or is this completely unrelated to what I’m trying to do? I haven’t use boost before, so the only versions of it (and the other libraries) are what came with collada 2.2 and the boost_1_47_0.zip I mentioned before.

You don’t need Boost.

Boost is a very popular set of C++ development libraries. You can learn more about it at http://www.boost.org/