[C++-sig] Nasty Heap Error in MSVC 7.1 WithBoost andPythonUsing Derived Classes

mjkeyes at sbcglobal.net mjkeyes at sbcglobal.net
Wed Oct 19 03:33:41 CEST 2005


I thought that at first, too.  I've done a search on my entire computer
for every boost_python* file there is and deleted them, but the error
remains after I build again with bjam.

I'm going to look into it a bit further tonight and see if I can find
any other differences.  Thanks for all the help guys.

"David Abrahams" <dave at boost-consulting.com> wrote in message
news:<ull0qij2v.fsf at boost-consulting.com>...
> "Matthew B. Keyes" <Keyes at simcrest.com> writes:
> 
> > Here is how I built my extension/embedded application and extension 
> > dll with MS Visual Studio .NET 2003:
> >
> > -Use the MSVC project supplied with Boost.Python to build 
> > boost_python.dll -Link to the boost_python.lib file for both 
> > projects -Build (and everything works fine and runs well)
> >
> > Now, in trying to add the import function, I retrieved the latest 
> > Boost files from CVS.  I initially tried to use the supplied MSVC 
> > project to build the boost_python.dll, but I received linking errors

> > when I use the import function.  Thus, I fired up bjam and let it 
> > build the boost_python.dll file.  However, when I rebuild my project

> > that uses import (the extension/embedded application), I still 
> > receive the linking error.  If I add import.cpp to the project, the 
> > linking error goes away.
> >
> > I tried looking at the exec.cpp test applet via bjam, but I receive 
> > several errors on some of the other applets and it is very difficult

> > to filter out all the command line chatter to see what happened with

> > the exec applet.  That said, I do take your word for it that it 
> > works.
> >
> > The specific linking error I receive is this:
> >
> > error LNK2019: unresolved external symbol "class 
> > boost::python::api::object __cdecl boost::python::import(class 
> > boost::python::str)"
> > (?import at python@boost@@YA?AVobject at api@12 at Vstr@12@@Z) referenced in 
> > function "public: virtual bool __thiscall 
> > PythonLib::PythonLibObjectContainer::CreateInstanceOfObject(class
> > std::basic_string<char,struct std::char_traits<char>,class 
> > std::allocator<char> > const &,class std::basic_string<char,struct 
> > std::char_traits<char>,class std::allocator<char> > const &)" 
> > (?CreateInstanceOfObject at PythonLibObjectContainer@PythonLib@@UAE_NAB
> > V?$b
> > asic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@0 at Z)
> 
> Then you're clearly linking with the old library you built with the 
> IDE and not the one you built with bjam.
> 
> --
> Dave Abrahams
> Boost Consulting
> www.boost-consulting.com




More information about the Cplusplus-sig mailing list