|
Boost : |
From: Sohail Somani (sohail_at_[hidden])
Date: 2008-03-26 18:58:05
On Wed, 26 Mar 2008 20:30:08 +0100, Bernd Speiser wrote:
> Sohail Somani wrote:
>> On Wed, 26 Mar 2008 16:41:33 +0100, Bernd Speiser wrote:
>>
>>> I am separating the exporting macros into a header xxx_export.h.
>>
>> Just FYI, the suggested method is (now) to have the export macros in
>> cpp files. Actually, it was OK to do it for 1.34.1 as well, which I
>> did.
>>
>>
> I did read this in the documentation. However, when implementing our
> class exports in that way, we encountered runtime errors at
> /usr/include/boost/archive/detail/oserializer.hpp:418: ... Assertion
> `__null != bpos_ptr' failed. Abort
>
> We could only get rid of this by using the export header method. I must
> admit that I did not really understand the error ;-) and the remedy was
> rather by trial and error.
Oh, not a good way to go about it! My guess is that that was an order-of-
includes problem. For 1.34.1, you had to include all the archives you
wanted first and *then* include the export header. This requirement is
now theoretically removed for most compilers.
-- Sohail Somani http://uint32t.blogspot.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk