Hi Jeff,
I installed Boost 1.32 on my computer (Windows Server 2003 and Visual
Studio .NET 2003). A directory: \boost_1_32_0 was created. In
\boost_1_32_0\libs\serialization\vc7ide, I found the projects for
building serialization library and test examples. I can build the
library (libboost_serialization.lib) and examples, and they run well.
All examples are Windows console applications.
Then I created an MFC application, linked it with the library. In
Document class, I did a test similar to the one presented in
demo_xml.cpp and demo_xml.hpp:
...
#include "stdafx.h"
#include "MFCTests.h"
#include "MFCTestsDoc.h"
#include <iostream>
#include <sstream>
#include <string>
#include
#include
#include "demo_xml.hpp"
....
void CMFCTestsDoc::OnTestSerialize()
{
bus_stop *bs0 = new bus_stop_corner(
gps_position(34, 135, 52.560f),
gps_position(134, 22, 78.30f),
"24th Street", "10th Avenue"
);
std::string filename(boost::archive::tmpdir());
filename += "/demo.xml";
std::ofstream ofs(filename.c_str());
assert(ofs.good());
boost::archive::xml_oarchive oa(ofs);
oa << BOOST_SERIALIZATION_NVP(*bs0);
...
}
Execution fails in last statement with message:
Unhandled exception at 0x77e55dea in MFCTests.exe: Microsoft C++
exception: __non_rtti_object @ 0x0012e800.
The build was debug build, application and library were build with
runtime library option "Multi-threaded Debug (/MTd)". I tried to use
different options such as "Multi-threaded Debug DLL (/MDd)", it failed
the same way.
In MSDN
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vst
echart/html/boostvc.asp), it discussed Boost for Visual Studio C++. It
stated that Boost works well with VC++ 7.1. Of course we know it doesn't
work well with previous VC++ such as VC++ 6.0 which I tried and failed
badly.
Thanks,
Yan
_____
From: boost-users-bounces@lists.boost.org
[mailto:boost-users-bounces@lists.boost.org] On Behalf Of Jeff Flinn
Sent: Wednesday, June 01, 2005 9:00 AM
To: boost-users@lists.boost.org
Subject: [Boost-users] Re: boost.serialization 1.32 example execution
failsinMFC project (Visual Studio .NET 2003)
Yan,
I extensively use boost 1.32 serialization in MFC projects with no
problems. You'll need to provide more info on your problem: some code,
exact error messages, etc.
So is Boost really mentioned in MSDN?
Jeff Flinn
PS. Please restrict your postings to plain text. Other wise it's
difficult to avoid top posting.
"Yan Zhang" wrote in message
news:F96935FCB9C3D549B3B6CD8915811A2F0F746300@mail60nt.mitchell.com...
I installed Boost 1.32 in Windows with Visual Studio .NET 2003.
I tested serialization provided in "vc7ide" project, it runs
successfully. Of course, all test projects are "Console", no MFC library
involved. Then I used the same library in MFC project, the execution
failed in function:
BOOST_SERIALIZATION_NVP(s)
From MSDN, it was said that Boost is supported in Visual Studio
.NET 2003. I labored a week to upgrade our MFC project to Visual Studio
.NET 2003 and it still has problem. Any idea? Thanks in advance.
Yan
_____
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users