
|
Serialization
Release Notes
|
- Requirements
- Installation
- Platforms
- Differences from Draft #18
- Pending Issues
This is Draft #19 of a proposed Boost Serialization Library.
There are currently no known bugs. This library has been tested with Boost
version 1.31.0 as of 11 April 2004.
Requirements
This library requires Boost version 1.31 or later. Depending on the compiler used,
It may also require spirit 1.6 which is not part of the standard boost distribution.
The installation procedure presumes that the following programs are in
your current path
- bjam
- process_jam_log
- compiler_status
If these are not built or not in the current path, make required adjustments.
The programs are part of the boost tools/regression directory and can be built
there if necessary.
I also recommend testing the regression system with the following procedure:
- change current directory to BOOST_ROOT/tools/regression/test.
(where BOOST_ROOT is your boost root directory)
- invoke runtest.bat (on an Windoz system) or runtest.sh or runtest.ksh on other systems.
- if necessary, you can invoke the commands in runtest.bat one
by one from the command line.
- when finished you should have an html file with a set of test
results.
- review the bjam.log to be sure that the results match the table.
If they don't, advise the boost build mailing list.
The serialization library requires the boost spirit package to load XML archives.
We have found that all tests pass using spirit 1.6x. Spirit 1.8 does not work with
older compilers - specificallly MSVC 6 and Borland.
If you are using one of these two compilers, you may download a version
of spirit 1.6 here.
To use this downloaded version rather than the one included with boost,
set an environmental variable SPIRIT_ROOT to be equal to the root
directory where the downloaded copy of spirit has been placed. E. G.
set SPIRIT_ROOT=c:/spirit161
If you're not using bjam and the jamfile to build the library, be sure that
the directory which contains the version of spirit you plan to use is placed
at the front of the list of include paths.
Installation
I use the following procedure for building and testing this library:
- Unzip the serialization19.zip file to an empty directory.
(If you're reading this you probably have already done this.)
- Copy the files in this library into the corresponding
sub directories your local boost directory tree.
- Set current directory to the boost-root/libs/serialization/test.
- Invoke
runtest <toolset> <boost root directory> for the toolset you use.
(E.G. vc7, GCC, etc.) This will build the required libraries then run all the tests.
- There now should exist an updated file
compiler_status.html
Note that this will build only those libraries required to build and execute
the tests. If the above completes successfully and you want to start using
the serialization library in your own projects, You can build all the
variations of the library:
This will build debug and release versions of libboost_serialization.lib.
If your build platform supports wide character i/o, debug and release
versions of libboost_wserialization.lib will also be built. All
applications which use serialization should be linked with the former.
Applications which use wide character i/o should be linked with both.
Similarly, to build the examples:
Platforms
This library has been built and tested for debug and release modes on
VC++ 6.0, VC 7.0, GCC 3.3, and Intel 8.0.
Some less conforming compilers fail some tests.
Details are available in the
implementation notes.
Differences from Draft #18
- Reorganization of header and template file
- Enhanced documentation to help explain implementation issues.
- Adjustments to improve support for less conformant compilers.
- Introduction of polymorphic pointers.
- A few bug fixes.
Pending issues
- Compile, and test on more platforms
- implement
is_virtual_base<T> to automatically
eliminate redundancy in virtual base class serialization.
- currently can't serialize through a pointer an object a of class
that implements its own
new/delete operators.
Revised
29 February, 2004
© Copyright Robert Ramey
2003-2004. All Rights Reserved.