Hi Robert,

On 11/29/06, Robert Ramey <ramey@rrsd.com> wrote:
Try

///////////////////////// without effect
////////////////////////////////////
template void
CSerTest::serialize<boost::archive::xml_oarchive>(boost::archive::xml_oarchive&,
const unsigned int );  // add const !!!


Of course I did try this but the unresolved symbol is of type CSerTest::serialize<class boost::archive::xml_oarchive>(class boost::archive::xml_oarchive &,unsigned int)
and so I tried it without const. But the error occurs further.


// main.cpp

#include <fstream>
#include "Class.hpp"

#include <boost/archive/xml_oarchive .hpp>
#include <boost/archive/xml_iarchive.hpp>

///////////////////////// without effect
////////////////////////////////////
template void
CSerTest::serialize<boost::archive::xml_oarchive>(boost::archive::xml_oarchive&,
const unsigned int );  // "const" added!! to match template in declaration

int main()
{
    const CSerTest instance; // check rationale on this.

    std::ofstream ofs( "out_file.txt" );
    boost::archive::xml_oarchive oxa( ofs );

    oxa << BOOST_SERIALIZATION_NVP(instance);
}

**** this should work.

I wish it would.  Do you have another hint why the explicit instantiation doesn't work here?

Thanks for your other suggestions.

Cheers, jan