title: How to make an empty implementation class in one static library and instead provide concrete implementation in another static library?
body: <p>The title might be confusing to understand and let me clarify here:</p>
  <p>I am developing two static libraries A and B using CPP. I want to create a class maybe called <strong>Processor</strong> shared by both libraries, and the class will have a member function called process().</p>
  <p>I want to achieve that:</p>
  <p>When linking both A and B from an application, calling process will use the concrete implementation defined in B,</p>
  <pre><code>Processor* object = new Processor();
  object-&gt;process()//process() will have its non-empty implementation in B
  </code></pre>
  <p>but when linking only A, the implementation will be empty (because B is not linked) so that the function will do nothing.</p>