DOM guide: Setting up
This article describes how to set up your software and system to use the COLLADA DOM.
To use the COLLADA DOM, you must:
- Download the DOM
- Download the external libraries that the DOM uses
- If you are using VisualStudio .NET, set the appropriate configuration values
- Optionally build the COLLADA DOM (otherwise just use the distributed, prebuilt version)
((EDITOR: This page needs the following improvement: Include a discussion of how to build on Linux. ))
Downloading the COLLADA DOM
The COLLADA DOM is available royalty free and open source for download from SourceForge at http://sourceforge.net/projects/collada-dom .
The COLLADA 1.4.1 DOM 1.2.0 distribution comes in three varieties; a source-code-only distribution and two prebuilt binary installers, one for Visual Studio .NET 2005 (VC8) and one for Visual Studio .NET 2003 (VC7). You can also access the latest source code from the Subversion repository.
The COLLADA DOM and all client applications have three external dependencies, libxml2, zlib, and iconv. The most current Windows binaries for these libraries can be downloaded from http://www.zlatkovic.com/libxml.en.html For convenience, these libraries are packaged together in the "External Libaries" package available from the COLLADA DOM SourceForge download page.
Building Client Applications
VisualStudio.NET requires additional path and dependency information to properly compile and link applications using the COLLADA DOM. Add the following information to your project:
- Add the following lines to the “Additional include directories” field in the "General" tab for the "C/C++" project configuration settings:
The COLLADA DOM is provided as both static and dynamic link libraries.
- To link against the static COLLADA DOM libraries:
- Add the following lines to the "Additional library directories" field in the "General" tab for the "Linker" project configuration settings:
<COLLADA_DOM-path>\lib\vc8\1.4 <libxml2, zlib, and iconv lib directory-path>
- Add the following lines to the "Additional Dependencies" field in the "Input" tab for the "Linker" project configuration settings:
libcollada_dae.lib libcollada_dom.lib libcollada_STLDatabase.lib libcollada_LIBXMLPlugin.lib libcollada_stdErrPlugin.lib libxml2_a.lib iconv_a.lib zlib.lib wsock32.lib
- To link against the dynamic COLLADA DOM library:
- Add the following line to the "Preprecessor Definitions" field in the "Preprocessor" tab for the "C/C++" project configuration settings:
- Add the following line to the "Additional library directories" field in the "General" tab for the "Linker" project configuration settings:
- Add the following line to the "Additional Dependencies" field in the "Input" tab for the "Linker" project configuration settings:
- If you are using Visual Studio .NET 2003 sunbstitute "vc7" for "vc8" in the "Additional library directories" field.
- To use the debug version of the libraries append "_d" to the end of the COLLADA DOM library names, for example, libcollada_dae_d.lib, and replace "lib" with "lib-dbg" in the library path.
- Make sure that your application is using the correct runtime libraries. The "Runtime Library" field in the "Code Generation" tab for the "C/C++" configuration options should be set to "Multi-threaded DLL" if using the release builds of the library or "Multi-threaded Debug DLL" if using the debug builds.
Building the COLLADA DOM
Though most developers can use the prebuilt libraries, the distribution of the COLLADA DOM includes full source code and VisualStudio projects for rebuilding the libraries from scratch. Project and solution files for Visual Studio .NET 2003 can be found in
Project and solution files for Visual Studio .NET 2005 can be found in
Building the COLLADA DOM requires that the files for the external libraries it depends be in a specific directory structure. An environment variable,
COLLADA_EXTERNAL_LIBS_LOCATION, needs to be set to the directory that contains the following files.
libxml2/win32/include/libxml/* - The libxml2 headers from the distribution libxml2/win32/include/iconv.h libxml2/win32/include/zlib.h libxml2/win32/lib/iconv_a.lib libxml2/win32/lib/libxml2_a.lib libxml2/win32/lib/zlib.lib