Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2004-12-10 14:33:02


I'm trying to implement auto-link and build static versions of the
serialization libraries.

It seems I'm making progress but I'm sort of stuck on one point right now.

one my header files now contains:

extern BOOST_SERIALIZATION_DECL const char * ARCHIVE_SIGNATURE;
extern BOOST_SERIALIZATION_DECL unsigned int ARCHIVE_VERSION;

while the corresponding implemenation file contains:

///////////////////////////////////////////////////////////////////////
// constants used in archive signature
//This should never ever change. note that is not an std::string
// string.
BOOST_SERIALIZATION_DECL const char * ARCHIVE_SIGNATURE =
"serialization::archive";
// this should change if the capabilities are added to the library
// such that archives can be created which can't be read by previous
// versions of this library
// 1 - initial version
// 2 - made address tracking optional
// 3 - numerous changes - can't guarentee compatibility with previous
versions
BOOST_SERIALIZATION_DECL unsigned int ARCHIVE_VERSION = 3;

When I link an executable with the static library things work fine. When I
link with the dll import library I get errors indicating undefined symbols
for these const variables.

What is recommended here?

Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk