Boost logo

Boost Users :

From: John Maddock (john_maddock_at_[hidden])
Date: 2002-07-01 05:45:26


> Hello, I am new to Boost since version 1.27. I apparently have a
> problem building Regex from Boost 1.28 as I encounter a runtime error
> that causes all the examples to hang.
>
> I was successfully able to run all of the Regex examples except 'partial
> match' under boost 1.27 using Borland BCB5 patch 1.
>
> My procedure for building Regex for both versions 1.27 and 1.28 was to
> run
> Make.exe -fbcb5.mak install clean
> The dlls and libs are then correctly placed in the Builder 5 root
> directory, and the examples build OK. However, whereas they ran
> successfully for Boost 1.27, they do not run under Boost 1.28.

The examples all work fine for me if I build them from the command line,
however the IDE turns on options -Ve and -Vx by default where as the command
line does not, these options change binary compatibility and this is the
heart of the problem: the libs you built from the makefile are binary
incompatible with the setting you are (probably) using in the exe. Now, I
normally prevent this from being an issue by using #pragma option's to
control struct packing etc to ensure binary compatibility whatever options
are set, but for some reason I haven't been able to get this to work
consistently with the -Vx option; in the latest CVS source I've had to
manually pack out one struct to ensure binary compatibility.

BTW the reason this has changed is that 1.28 puts more code in the lib
rather than in the exe.

Finally you can probably fix the problem either by getting the latest cvs
source, or by turning off -Vx in the IDE (zero sized empty members).

John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/index.htm


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net