Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-09-19 10:59:50


-----------------------------------------------------------
           David Abrahams * Boost Consulting
dave_at_[hidden] * http://www.boost-consulting.com

----- Original Message -----
From: "Scott A. Smith" <ssmith_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Thursday, September 19, 2002 11:42 AM
Subject: [boost] MSVC++ Boost.Python project builds

> Greetings,
>
> I am using MSVC++ Version 6 with SP5 under Windows 2K with Boost 1.28.0.
> Ive built the Boost.Python library using Jam with MSVC++ - no problems.
> Ive built my project using MSVC++ in the MSVC++ IDE as both a static
library
> & DLL - no problems.
> Ive built my project using MSVC++ in its IDE as a DLL linking to the
> Boost.Python DLL - problems.
>
> The problems are not in the build, they occur when using the DLL. When I
> construct a simple class (in Python) that takes a std::string as a
argument
> I get a "Debug Assertion Failed" message from windows with an indication
> that the problem lies in dbgheap.c.

<snip>

Please read the section on "Build Variants" in
C:\boost\libs\python\doc\building.html very carefully and see if it solves
your problems. You may want the "debug-python" variant of Boost.Python,
which can be built with

    bjam -sBUILD=debug-python ...

> So I'm stuck trying to build a MSVC++ Pythonized DLL of my project that
> works 100% properly.
>
> 1.) Is it just a bad idea to use the MSVC++ IDE to build Boost.Python
based
> packages? I see that
> the MSVC++ workspace to build Boost is no longer provided. Was that
just
> too much of a pain to
> keep up with, or are there some intrinsic problems?

Just the former. We may supply a new MSVC workspace for Boost.Python v2. No
firm commitment, though.

> 2.) If there are none, what CRT library do I need to link to? I have not
> stumbled onto the proper
> combination. How and what does Jam choose for the CRT library used
when
> building Boost.Python.

You can see the command-lines used by bjam by adding "-d+2" before any
targets on your bjam command-line.

> Can I change it, as I guess it must always match the one used in
> building any projects using it?
> 3.) It looks to be too much work to try and build Boost.Python in the
MSVC++
> IDE, although that would
> almost certainly fix my problems (i.e. build my project &
Boost.Python
> simultaneously into one DLL)
> A task much much worse that figuring out how to build my whole
project
> in Jam?
>
> If anyone cares for it, I can send URLs that talk about this MSVC++ CRT
> problem when building DLLs. I have tried building things as both Debug
and
> Release versions in MSVC++ to make sure I wasn't mixing up librarys,
neither
> worked. Any ideas would be appreciated.

I'm going to assume for the time being that your problem will be solved by
using the debug-python build as described above before trying to answer any
more of your questions, OK?

-Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk