$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] boost namespace
From: Artyom (artyomtnk_at_[hidden])
Date: 2009-06-23 06:24:16
> I need to use two versions of boost in my
> application. One the libs I link
> against is statically linked against boost 1.34 and I'd
> like to use 1.35's
> asio library.
First of all Asio comes as stand alone library outside
of boost namespace. So, you may just use it as is or use
namespace renaming:
#ifdef USE_BOOST_ASIO
#include <boost/asio.hpp>
namespace netio = boost::asio;
using boost::system::error_code;
using boost::system::system_error;
#else
#include <asio.hpp>
namespace netio = asio;
using asio::error_code;
using asio::system_error;
#endif
And then just relate to netio::... so you would
keep an ability to upgrade to boost asio in future.
This is the way I build CppCMS http://cppcms.sourceforge.net/
conditionally using Boost 1.33.1 and Asio or boost 1.35 and above only.
> I believe I can make both versions
> co-exist if I can manage
> to rename boost 1.35's namespace to something like
> boost135.
>
Take a look on a script I had written once:
http://listarchives.boost.org/boost-build/2009/05/21911.php
But note! boost 1.35 and 1.34 are not compatible nither
ABI nor API.
So you **must** not mix them in same module! This may be very tricky.
So you can't use boost in interfaces between modules that use different
versions of boost.
Artyom