Regex boost_1_28_0 incorrect build / run-time problem
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. I also tried BJam, but the problem remains. If possible, please let me know what was my mistake in building the libs. Thank you, David Beres[dberes@advpubtech.com]
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
participants (2)
-
David Beres
-
John Maddock