title: Boost serialization compiling issue
body: <p>I am using boost serialization on windows, and I wanted to test my code on linux (ubuntu) and unfortunately it does not compile.</p>
  
  <pre><code>#include &lt;string&gt;
  #include &lt;fstream&gt;
  
  #include &lt;boost/archive/xml_iarchive.hpp&gt;
  #include &lt;boost/archive/xml_oarchive.hpp&gt;
  
  
  #include &lt;boost/serialization/string.hpp&gt;
  #include &lt;boost/serialization/nvp.hpp&gt;
  #include &lt;boost/serialization/export.hpp&gt;
  
  
  class MyClass
  {
    public:
      int something;
      MyClass();
  
      template&lt;class archive&gt; void serialize(archive&amp; ar, const unsigned int version)
      {
        using boost::serialization::make_nvp;
        ar &amp; make_nvp("something", something);
      }
  
  
  };
  
  
  
  MyClass::MyClass()
    : something(0)
  {
  }
  
  int main(int argc, char ** argv)
  {
    std::cout &lt;&lt; "Hello";
    MyClass obj();
  
    std::string path = "here.xml";
  
    std::ifstream ifs(path.c_str());
    if (ifs.good())
    {
      boost::archive::xml_iarchive ia(ifs);
      ia &gt;&gt; boost::serialization::make_nvp("obj", obj);
  
      ifs.close();
      return true;
    }
    else
      return false;
  
  }
  </code></pre>
  
  <p>Here is my compile line:</p>
  
  <pre><code>g++ test.cpp -lboost-serialization
  </code></pre>
  
  <p>And here is what I get:</p>
  
  <pre><code>In file included from /usr/include/boost/archive/detail/interface_iarchive.hpp:23,
                   from /usr/include/boost/archive/detail/common_iarchive.hpp:21,
                   from /usr/include/boost/archive/basic_xml_iarchive.hpp:23,
                   from /usr/include/boost/archive/xml_iarchive.hpp:24,
                   from test.cpp:6:
  /usr/include/boost/archive/detail/iserializer.hpp: In function ‘void boost::archive::load(Archive&amp;, const T&amp;) [with Archive = boost::archive::xml_iarchive, T = MyClass()]’:
  /usr/include/boost/archive/detail/common_iarchive.hpp:61:   instantiated from ‘void boost::archive::detail::common_iarchive&lt;Archive&gt;::load_override(T&amp;, int) [with T = MyClass(), Archive = boost::archive::xml_iarchive]’
  /usr/include/boost/archive/basic_xml_iarchive.hpp:81:   instantiated from ‘void boost::archive::basic_xml_iarchive&lt;Archive&gt;::load_override(const boost::serialization::nvp&lt;T&gt;&amp;, int) [with T = MyClass(), Archive = boost::archive::xml_iarchive]’
  /usr/include/boost/archive/xml_iarchive.hpp:75:   instantiated from ‘void boost::archive::xml_iarchive_impl&lt;Archive&gt;::load_override(T&amp;, int) [with T = const boost::serialization::nvp&lt;MyClass()&gt;, Archive = boost::archive::xml_iarchive]’
  /usr/include/boost/archive/detail/interface_iarchive.hpp:61:   instantiated from ‘Archive&amp; boost::archive::detail::interface_iarchive&lt;Archive&gt;::operator&gt;&gt;(T&amp;) [with T = const boost::serialization::nvp&lt;MyClass()&gt;, Archive = boost::archive::xml_iarchive]’
  test.cpp:48:   instantiated from here
  /usr/include/boost/archive/detail/iserializer.hpp:570: error: no matching function for call to ‘load_wrapper(boost::archive::xml_iarchive&amp;, MyClass (&amp;)(), boost::serialization::is_wrapper&lt;MyClass()&gt;)’
  </code></pre>
  
  <p>I am probably missing an include...</p>