KeyValue is available in standard formats in SourceForge.
http://sourceforge.net/projects/keyvalue/files
Just download and unpack it in your hard disk.
Windows Vista users must perform an extra step. As we shall see below, KeyValue build system relies on Cygwin. For some reason, Cygwin fails to copy some files. To prevent this from happening, turn KeyValue's home directory and all its descendants into shared folders. Right click on KeyValue's home directory and select
. Then, click on . Then the directory gets a new icon with a two-people picture.KeyValue depends on a few libraries and tools. Some of them are compulsory while others depends on the user's purpose. The following sections list those tools and libraries.
Two C++ compilers are supported: Microsoft Visual C++ 2008 (for Windows) and GCC (for Linux).
Most of Linux distributions come with GCC already installed. KeyValue has been tested with version 4.x.x but other versions should work as well.
Microsoft provides different editions of Visual Studio C++ 2008. The Express Edition is available, free of charge, at
http://www.microsoft.com/express/download
Editions differ mainly in their IDEs. However, there are a few differences on compilers as well. During KeyValue's development we came across lines of code that the Professional Edition could compile while Express Edition failed. Some effort has been made to maintain compatibility with both editions.
We need additional build tools, notably, GNU make and the bash shell.
Linux users do not have to worry about most of these tools since they are probably installed by default. However, a less popular tool called makedepend is needed as well. Normally, it is part of the x11 or xorg packages. To check whether we have it or not, on a console window type:
$ makedepend
If not found, use your distribution's package system to install it or, alternatively, download and install from source code:
http://xorg.freedesktop.org/releases/individual/util
Windows users will also need those tools but, unfortunately, they are not directly available. Therefore, Cygwin (see Section 2.4) will be needed to have a Linux-compatibility layer.
Boost is a high quality set of C++ libraries for general purposes.
KeyValue depends on a few of Boost libraries notably Smart Ptr (for shared pointers) and Date Time (for date and time classes). All Boost libraries that KeyValue depends on are header-only. Therefore, all we need is to download and unpack Boost in the hard disk.
As of this writing, the latest Boost release is 1.42.0. KeyValue have been tested with version 1.38.0. Any newer version should work as well.
Boost is available for download at its SourceForge page:
KeyValue is a cross platform library for Linux and Windows systems. Its build system relies on tools that are very popular on Linux systems but not on Windows. For that reason, Windows users must install Cygwin to have a Linux-like compatibility layer. Cygwin is available at
During installation we have to make a few choices. Normally, default answers are fine. However, when selecting the packages to install, make sure the following items are selected:
Archive/zip (needed to build the OpenOffice Calc add-in);
Devel/make; and
Devel/makedepend.
Although installation procedures for KeyValue developers is not in the scope of this document, we anticipate here the list of extra Cygwin packages that developers must install:
Archive/zip; and
Doc/libxslt.
Cygwin comes with a small tool called link to create file links (shortcuts). This tool is, probably, useless since there is a Windows native alternative and Cygwin also provides ln for the same purpose. Unfortunately, we must bother with link because it has the same name as the Microsoft linker, which raises a conflict. A workaround is renaming link to, say, link-original. Open a Bash Shell by clicking on and type the following command followed by Enter.
$ mv /usr/bin/link.exe /usr/bin/link-original.exe
In many occasions we need Bash Shell commands. Therefore, remember how to get a Bash shell console window and consider keeping it constantly open while working with KeyValue.
KeyValue comes with an OpenOffice Calc add-in for Linux and Windows systems. To build this add-in, one must install the OpenOffice SDK.
The OpenOffice Calc add-in has been tested for versions 3.1.0 of OpenOffice and OpenOffice SDK. However, it probably works for all 3.x.x versions. Users of versions 2.4.x are advised to upgrade their systems.
Download and install a SDK version compatible with your installed OpenOffice version:
KeyValue comes with an Excel add-in. To build this add-in, one must install the Excel SDK.
Only the Excel 2007 API is supported. If compatibility with this API is kept on new Excel releases, then the add-in should work for them as well. However, it does not work for Excel 2003.
Download Excel 2007 SDK from its website