|
Boost Users : |
Subject: Re: [Boost-users] Boost.Test on Windows x64
From: User 8583 (user8583_at_[hidden])
Date: 2013-06-30 14:52:39
On Sun, Jun 30, 2013 at 6:59 PM, Richard
<legalize+jeeves_at_[hidden]>wrote:
> It sounds like auto linking of the library is picking up the wrong one.
> Auto-linking uses #pragma comment(lib, <name>) to specify the library
> name needed for linking. It doesn't specify a directory location for
> the library, only its name.
>
I am not using auto-linking, I have defined BOOST_ALL_NO_LIB and provide an
explicit path to the library. Actually, CMake does it for me. I have not
compiled the x86 versions of the library as I have no use of them.
I have checked with the 1.54 RC (in case it would be a known issue) and
have the same problem.
>
> Do you have your library search path set to the location of the x64
> libraries?
>
> You can verify the library is x64 with dumpbin:
>
> D:\Code\boost\boost-trunk\stage\lib>dumpbin /all
> libboost_unit_test_framework-vc110-mt-gd-1_54.lib |find /i "machine"
> 8664 machine (x64)
> 8664 machine (x64)
> 8664 machine (x64)
>
This is interesting, thanks for the tip. I checked with dumpbin and all the
library are actually x86 binaries. However, I stated earlier that I used
serialization in x64 binaries without error. That is true, but they were
compiled with VS2010. I checked and all the libraries compiled with VS2010
are indeed x64 (obtainted with the same b2 command line but with the
appropriate toolset). Are you also using VS2012?
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