boost regex 64 bit build

Hi, I want to build boost regex 64 bit for a program on a Windows 7 64bit machine. I have downloaded boost 1.45 and built "bjam" by running "bootstarp.bat".
From "bjam" I built the regex library using the following command
bjam --build-type=minimal --with-regex using=msvc --address-model=64
I am compiling using visual studio 2010. When I try to link my program
with boost::regex, i get the error
unresoleved external symbol " private: class boost::basic_regex

On Tue, Jul 12, 2011 at 05:51:03PM +0530, Lloyd wrote:
Hi,
I want to build boost regex 64 bit for a program on a Windows 7 64bit machine. I have downloaded boost 1.45 and built "bjam" by running "bootstarp.bat".
bjam --build-type=minimal --with-regex using=msvc --address-model=64
Surely this should be: :\> bjam --build-type=minimal --with-regex toolset=msvc address-model=64 Do note that teh current version of Boost is 1.47.0, too. -- Lars Viklund | zao@acc.umu.se

On Tue, Jul 12, 2011 at 02:30:04PM +0200, Lars Viklund wrote:
On Tue, Jul 12, 2011 at 05:51:03PM +0530, Lloyd wrote:
Hi, bjam --build-type=minimal --with-regex using=msvc --address-model=64
Surely this should be: :\> bjam --build-type=minimal --with-regex toolset=msvc address-model=64
Do note that teh current version of Boost is 1.47.0, too.
I completely forgot to explain why your invocation was wrong. Your call did not set the <address-model> property, so it built with the default (32-bit) address-model, which resulted in 32-bit libraries. The fun part is when you try to link libraries of the wrong bitness in MSVC, it just silently ignores any symbols of the wrong bitness, so while it finds and tries to link to the library, none of the symbols satisfy the constraints. This should be fixed if you invoke b2 properly. -- Lars Viklund | zao@acc.umu.se

Thanks Lars, it works now...
Regards,
Lloyd
On Tue, Jul 12, 2011 at 6:05 PM, Lars Viklund
On Tue, Jul 12, 2011 at 02:30:04PM +0200, Lars Viklund wrote:
On Tue, Jul 12, 2011 at 05:51:03PM +0530, Lloyd wrote:
Hi, bjam --build-type=minimal --with-regex using=msvc --address-model=64
Surely this should be: :\> bjam --build-type=minimal --with-regex toolset=msvc address-model=64
Do note that teh current version of Boost is 1.47.0, too.
I completely forgot to explain why your invocation was wrong. Your call did not set the <address-model> property, so it built with the default (32-bit) address-model, which resulted in 32-bit libraries.
The fun part is when you try to link libraries of the wrong bitness in MSVC, it just silently ignores any symbols of the wrong bitness, so while it finds and tries to link to the library, none of the symbols satisfy the constraints.
This should be fixed if you invoke b2 properly.
-- Lars Viklund | zao@acc.umu.se _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Lars Viklund
-
Lloyd