title: C++ : Extern C Functions inside a Namespace
body: <p>I have to link two libraries, say A and B. Some of the files are common in both libraries. 
  So, I declare functions in library A inside a namespace, say abc.
  So, in A and B, a function func looks like below: </p>
  
  <pre><code>[ in A]
  
      namespace abc {
      extern "C" void func();
      }
  
  
  [in B]
  
      extern "C" void func();
  </code></pre>
  
  <p>While building the project, compiler throws linking errors saying multiple definitions of function func. Isn't the function func in A inside the namespace or is there some problem with extern "C" functions. If there is, then how can I differentiate them both? </p>