-
Notifications
You must be signed in to change notification settings - Fork 4
Build Instructions
TSDB depends on a few other libraries that you will have to install before attempting to built it. You'll need these things:
- HDF5, version 1.8.6
- HDF5 also requires Zlib
- The Boost C++ Library, version 1.45 or greater
- TinyXML++ (aka TiCPP)
For the GUI:
- Qt4
- Qwt6 (for graphing)
- Download the zlib precompiled binary from http://zlib.net/zlib125-dll.zip. Uncompress somewhere; in this example, I uncompressed to
C:\zlib
. - You need to set an environmental variable to the path of the zlib lib file. Set
HDF_EXT_ZLIB=C:\zlib\lib\zdll.lib
. (Note that the HDF5 documentation is wrong about this. In the package you just downloaded, the lib file is calledzdll.lib
, notzlib1.lib
as the HDF5 documentation states.) - Please note you must restart Visual Studio after setting environmental variables, otherwise they will not be detected. So restart VS now.
- Copy the
zlib1.dll
file toC:\WINDOWS\SYSTEM\
. - Open Visual Studio 2008. Go to Tools > Options > Projects and Solutions > VC++ Directories. Under the "Show directories for" dropdown, select Include files and add the path to the zlib include files (
C:\zlib\include
). Do the same for Library files (C:\zlib\lib
).
Set and environment variable to the path of HDF5 like this
HDF5LIB=C:\hdf5\hdf5-1.8.6
Load the all.sln
in Visual Studio and build for Debug and Release configurations. Then run the $(HDF5LIB)\installhdf5lib.bat
batch file. This copies the DLL and LIB files to $(HDF5LIB)\hdf5lib\(debug|release|)\dll
.
Set an environmental variable to the path of the Boost libraries. If you installed to C:\boost_1_45_0\
, then you should set an environmental variable like this:
BOOSTLIB=C:\boost_1_45_0
You want to build the Boost libraries with MS Visual C++ 2008 (version 9.0). That version only has multi-threaded shared libraries, hence the threading=multi
property. You also want to use use the shared MSVC runtime library, hence the runtime=shared
. Build with debugging symbols for now too, it will make it easier to debug the library.
bjam toolset=msvc-9.0 threading=multi variant=debug runtime=shared
You should then get a ton of libraries in your $(BOOSTLIB)\stage\lib folder with names like libboost_date_time-vc90-mt-gd-1_45.lib
. Note the vc90-mt-gd
suffix, that means Visual Studio 9.0, multi-threaded, and shared debug runtime.
- Download Premake from http://premake.sf.net/download
- Checkout the source for TinyXML++ using subversion:
svn checkout http://ticpp.googlecode.com/svn/trunk ticpp
- In the TinyXML++ directory, run `premake4 vs2008 --dynamic-runtime
- Open TinyXML++.sln in Visual Studio 2008. Right click on the TiCPP project, then Properties > Configuration Properties > C/C++ > Code Generation. Make sure under "Runtime library" Multi-threaded DLL is selected for the Release configuration and Multi-threaded Debug DLL is selected for Debug.
- Build both debug and release.
- Set an environmental variable to the location you installed TiCPP. For example:
TICPPLIB=C:\ticp
You should have these environmental variables set so Visual Studio can find the dependencies:
HDF_EXT_ZLIB=C:\zlib\lib\zdll.lib
HDF5LIB=C:\hdf5\hdf5-1.8.5-patch1
BOOSTLIB=C:\boost_1_45_0
TICPPLIB=C:\ticp
- Download qwt 6.0.0 from http://sourceforge.net/projects/qwt/files/qwt/ and unzip
- Do not fight with the included QWT instructions, follow these instead.
- From the qwt-6.0.0 directory, run
qmake -recursive -tp vc
. This will create Visual Studio project files and a qwt.sln Visual Studio solution file in that folder. Open the qwt.sln file in Visual Studio and build the release and debug versions. - Set an environment variable for the location of QWT:
QWTLIB=C:\qwt-6.0.0