Boost logo

Boost-Build :

From: John Maddock (john_at_[hidden])
Date: 2007-07-17 04:58:01


Arindam wrote:
> Hi,
>
> I need to build the Boost libraries from source using the Microsoft
> Platform SDK 2003, for the x64 platform (AMD64 / EM64T). I am doing it
> on a Windows XP 32 bit OS using the cross-compiler that comes with the
> Platform SDK.
>
> Here are the versions I am using:
>
> 1. Boost 1.31 - had to choose this rather older release because of
> certain constraints that our product has.
>
> 2. Microsoft Platform SDK 2003 R1. (Installed at "C:\Program
> Files\Microsoft Platform SDK") - no Visual Studio installation exists.
>
> 3. Using Boost.Build V1 rather than 2. Here is a mssdk-amd64-tools.jam
> file I created using the msvc-tools.jam at the following location
> under the Boost source dir: boost_1_31_0\tools\build\v1
>
> 4. Done some minor patching of the source code.
>
> Apparently the linker cannot find a large number of template
> specializations of standard library classes for wchar_t.
>
> The file mssdk-amd64-tools.jam, the code patches and the linker error
> logs are available at the following location - so that this mail does
> not become bloated:
>
> http://cxxkarma.blogspot.com/2007/07/building-boost-with-ms-platform-sdk.html
>
>
> - Any idea why these symbols are not available.
>
> - Is there a way I can turn off building Unicode support for
> Boost.Regex - can undef-ing BOOST_NO_WREGEX be of any help or should
> it be done with some other preprocessor symbol.

Hmmm, looks like the std lib has no wchar_t versions of it's code: try
building regex/boost without the /Zc:wchar_t option and see if that helps.

Otherwise: don't forget the regex is "just a bunch of sources", if you can
build x64 apps from your IDE OK, then you could just create a static lib or
dll project in your IDE and build from there. When you come to link your
app, you will need to define BOOST_REGEX_NO_LIB to stop the regex headers
from trying to auto-link, and add the library project as a dependency to
your app instead.

And yes, defining BOOST_NO_WREGEX will turn off all support for wide
character regular expressions.

HTH, John.


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk