Boost logo

Boost :

Subject: Re: [boost] Autolinking not working in Windows x64 cross-compileenvironment
From: John Maddock (john_at_[hidden])
Date: 2008-10-09 05:10:36

Dave Barnett wrote:
>> All:
>> I have taken the Boost 1.33.1 distribution [we have to stay with
>> this for consistency with our Linux build...], along with the extra
>> information here (
>> )
>> and been able to generate the Boost libraries using the X64 compiler
>> on a machine running Windows XP Pro 64.
>> I have taken the compiled libraries and copied them to our 32-bit XP
>> Pro build machine for use in an X64 cross-compile environment. [We
>> working on setting up a native X64 build machine, but it is a work
>> in progress....]
>> When I try to link, I get the list of unresolved symbols below. We
>> use a command-line tool to do our builds, which calls "cl", "lib",
>> "mt", and "link" directly. If I modify the link file passed to
>> "link" such that it adds "s:\....\libboost_thread-vc80-mt-1_33_1.lib
>> [which is the one dumpbin shows our object wants....], our DLL
>> (omega_runtime) will link successfully.
>> So, to my untrained eye [I'm new to building on Windows....] it
>> looks like there is something wrong with the autolink magic.

Can you try defining BOOST_LIB_DIAGNOSTIC when building as that will print
out the name of the library being selected to link against. Possible causes
might be:

* _DEBUG is being explicitly defined even though you're actually linking to
the release runtime (in which case it shouldn't be).
* You've actually got the 32-bit binaries in your lib search path.

HTH, John.

Boost list run by bdawes at, gregod at, cpdaniel at, john at