MXADataModel Documentation
APIs for the Programmer
 
Windows XP:

When compiling against the dll version of the HDF5 library be sure to have the following defined:

  • ADD_DEFINITIONS(-DHDF5_MODULES_ON)
  • ADD_DEFINITIONS("-D_HDF5USEDLL_")
otherwise you will get unresolved symbols when the link stage runs. Some how projects that used the MXADataModel cmakelists file were not getting this added to their flags.

When compiling against the Qt libraries you need to include the following in the cmake file:
IF (WIN32) SET (QT_USE_QTMAIN TRUE) ENDIF (WIN32)
This will resolve the WinMain16 link error that will occur if you do NOT have it listed

If you get errors about multiple defined symbols from the C or C++ runtime librarys then you have a mismatch in your app and libraries about whether or not to use the multi-threaded or single threaded or use release or Debug symbols. You will have to look at each project that you built or find out from your vendor how they compiled the library. These types of error will spit out a suggestion to use the /NODEFAULTLIB:[library] link flag. This is NOT necessary if all your supporting libraries were compiled with the same C/C++ runtime libs (Threaded and Debug Symbols on or off)

I was able to build the MXADataViewer using shared libraries for the HDF5 and MXADataModel and Qt4 framework.