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_")
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.