title: Boost unit test link error -- abi mismatch?
body: <p>I'm trying to build a unit test with boost, but the linker complains about a missing function. Take this skeleton code</p>
  
  <pre><code>#define BOOST_TEST_DYN_LINK
  #define BOOST_TEST_MAIN
  #include &lt;boost/test/unit_test.hpp&gt;
  
  BOOST_AUTO_TEST_SUITE(TestFuncOps);
  
  BOOST_AUTO_TEST_CASE(CopyConstructor)
  {
  }    
  
  BOOST_AUTO_TEST_SUITE_END();
  </code></pre>
  
  <p>But it fails with</p>
  
  <pre><code>Undefined symbols for architecture x86_64:
    "boost::unit_test::ut_detail::normalize_test_case_name[abi:cxx11](boost::unit_test::basic_cstring&lt;char const&gt;)", referenced from:
        __GLOBAL__sub_I_funcopstest.cc in funcopstest.o
  </code></pre>
  
  <p>The <code>libboost_unit_test_framework</code> is found by my linker command:</p>
  
  <pre><code>g++-5 --std=c++14 funcopstest.o -L/usr/local/lib -lboost_unit_test_framework -o test_funcops
  </code></pre>
  
  <p>because when take away the <code>-lboost_unit_test_framework</code>, I get a ton of undefined references instead of only one. Boost was installed via <code>brew</code> from source using c++11 mode. I have tried to compile with every <code>-fabi-version=[0-8]</code> but nothing changed.</p>
  
  <p>Does anybody have a clue what's going on?</p>