
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 ( http://en.allexperts.com/q/C-1040/Building-boost-libraries-64.htm ) 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.