[Boost-bugs] [Boost C++ Libraries] #3501: Reusing concepts from different compile units yields multiple defined symbols

Subject: [Boost-bugs] [Boost C++ Libraries] #3501: Reusing concepts from different compile units yields multiple defined symbols
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-10-01 14:07:55


#3501: Reusing concepts from different compile units yields multiple defined
symbols
----------------------------------------+-----------------------------------
 Reporter: christoph.heindl@… | Owner: guwi17
     Type: Bugs | Status: new
Milestone: Boost 1.41.0 | Component: uBLAS
  Version: Boost 1.39.0 | Severity: Problem
 Keywords: |
----------------------------------------+-----------------------------------
 Currently I use the ublas concepts defined in ublas/detail/concepts.hpp to
 derive concepts based on ublas concepts such as

 template<class X>
 struct Vector : boost::numeric::ublas::VectorConcept<X>
 {};

 In my unit test project I have different compile units that use
 BOOST_CONCEPT_ASSERT to assure Vector concept compliance. This yields
 multiple defined symbols for the following methods (and full specialized
 versions):

 ublas/detail/concepts.hpp:
 void concept_checks();
 template<class T> ZeroElement(T);
 template<class T> OneElement(T);

 inlining those solves the problem (for me). I'm compiling on MSVC9.0.
 Current trunk seems to have this methods still not-inlined.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3501>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:01 UTC