title: How to compile a C++03 project that uses a C++11 library API?
body: <p>I am required to use a shared library A and its API which was compiled using C++11. It uses C++11 features like <code>std::mutex</code> and <code>std::shared_ptr</code> in its API. I have no control over library A.</p>
  
  <p>However, I am also being required to compile my code using C++03 which uses library A's API.</p>
  
  <p>I am pretty sure that this cannot be done because I get compiler errors stating that the uses of <code>std::mutex</code>, <code>std::shared_ptr</code>, and others in the API are not found. (My understand is, if library A didn't use C++11 specific types then I should be able to do this.)</p>
  
  <p>But I just want to make sure that there isn't something I am not understanding that I need to do in order to compile my code against the C++11 library A.</p>
  
  <p>So the question is, can I compile my code using C++03 against a shared library and its API that uses C++11?</p>