Boost logo

Boost Users :

Subject: Re: [Boost-users] strange serialization compilation issue - serialize function not being compiled
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-07-23 11:42:39


AMDG

G, Benjamin (NSN - IN/Bangalore) wrote:
> I have a class which has got the serialize function implemented.
>
> template<class Archive>void myClassB::serialize( Archive& ar, const unsigned int)
>
> Somehow, this function is skipped and doesn't appear even in the object
> file created for this file which gives me undefined reference errors
> later when linking.
>
> I have included :
>
> #include <boost/archive/text_iarchive.hpp>
> #include <boost/archive/text_oarchive.hpp>
> #include <boost/archive/binary_oarchive.hpp>
> #include <boost/archive/binary_iarchive.hpp>
>
> In my cpp file.
>
> Does this sound faimiliar to anyone? Or am I going wrong somewhere?
>

Function templates usually need to be defined in the header file.
If you define it in the cpp file, you need to use explicit instantiation.

In Christ,
Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net