On Nov 20, 2008, at 7:59 PM, Xin Qi wrote:
> I compile mysql++ both with boost_1_36, but the code can not go
> through gcc
> 4.2.4 because there are conflicts
> between
> ./boost/concept_check.hpp: BOOST_concept(Comparable,(TT))
> ./boost/concept_check.hpp: BOOST_CONCEPT_USAGE(Comparable) {
> ./boost/concept_check.hpp: , EqualityComparable<TT>
> ./boost/concept_check.hpp: , Comparable<TT>
> and
> /mysqlpp/datetime.h: class MYSQLPP_EXPORT DateTime : public
> Comparable<DateTime>
>
> but when I change boost 1.34, the code could be compiled successfully.
There should only be a conflict if you hoist the symbols from both
libraries into the global namespace, with "using namespace mysqlpp"
and similar for Boost. The conflict should be avoidable if you remove
these "using" statements and refer to both libraries' through their
full namespaces. So: mysqlpp::DateTime instead of just DateTime.