Boost logo

Boost-Build :

Subject: [Boost-build] Architecture naming in boost libraries' names
From: Virl (virlof_at_[hidden])
Date: 2011-06-05 13:03:44


Greetings everyone.
I'm developing project that have to work with two versions of my C++/CLI
DLL: one for 32-bit Windows, and one for 64-bit. Because it is C++/CLI
DLL, I have to link dynamically with boost_thread (via #define
BOOST_THREAD_DYN_LINK) - otherwise "Access violation" bug surfaces:

http://stackoverflow.com/questions/5670248/boost-mutex-c-cli-problems

Dynamical linking with boost_thread solves that problem, but another
problem arises: I need two versions of boost_thread DLL with different
names in same directory: one for 32-bit and one for 64 bit. And,
therefore, I need boost to auto-link with different import libraries for
these DLLs.

My question is following: what I need to tweak or change in boost build
system to make it place architecture name or tag into compiled
libraries' names? I mean, architecture name like "i386" or "amd64" -
equally and among toolset name, debug build, etc.

For example currently I have:
boost_thread-vc100-mt-1_46_1.dll
boost_thread-vc100-mt-1_46_1.lib (import lib)

And what I need is:
boost_thread-amd64-vc100-mt-1_46_1.dll
boost_thread-amd64-vc100-mt-1_46_1.lib
boost_thread-x86-vc100-mt-1_46_1.dll
boost_thread-x86-vc100-mt-1_46_1.lib

Or something similar

I've looked at build scripts and honestly haven't understood much - only
that auto_link.hpp file defines lib names for linking from headers.

Hope you'll be able to help me.

Vladimir.


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