compiling livemedia as dynamic library: undefined references to virtual functions
<p>I am trying to compile the livemedia libraries as a shared object, so I get the following .so:</p>

<ul>
<li>libBasicUsageEnvironment.so</li>
<li>libgroupsock.so</li>
<li>libliveMedia.so</li>
<li>libUsageEnvironment.so</li>
</ul>

<p>It seems to be good, but when I try to link against these libraries, I get a lot of errors of undefined reference to the virtual functions they use.</p>

<p>For what I understood so far, if in a class a virtual method is defined as</p>

<pre><code>class MyClass
{
   ...
   virtual myMethod (int arg) {...};
   ...
}
</code></pre>

<p>the method is correctly found and linked, but if the code is split in a .h file </p>

<p>class MyClass</p>

<pre><code>{
   ...
   virtual myMethod (int arg);
   ...
}
</code></pre>

<p>and in a .cpp file</p>

<pre><code>MyClass::myMethod (int arg)
{
...
}
</code></pre>

<p>it does not work any more.</p>

<p>Now, I admit I'm far from being a C++ guru, but why does this happen? Is it a bug of g++? Or is there some hidden feature of the language? If I compile it as a static library is works.</p>
