[MPlayer-dev-eng] DeckLink driver

Deron Kazmaier deron at pagestream.org
Mon Sep 19 21:20:43 CEST 2011

On 9/17/11 3:08 PM, Diego Biurrun wrote:
> On Sat, Sep 17, 2011 at 11:56:47AM -0600, Deron Kazmaier wrote:
>> On 9/17/11 10:58 AM, Reimar Döffinger wrote:
>>> On Sat, Sep 17, 2011 at 10:49:04AM -0600, Deron Kazmaier wrote:
>>>> I've updated the code to compile (well, one niggly that I don't
>>>> fully understand but it is with a Delete which hopefully will at
>>>> worst just leave memory unfreed at the end) but I couldn't get it
>>>> too link. The error messages certainly made me believe that the
>>>> problem is simply that the C++ libraries are not linked in. Just
>>>> using g++ instead of gcc seems to fix it (I copy/pasted the link
>>>> line, replacing gcc with g++), but what would be the proper way to
>>>> handle this in the config? Obviously the average user would not
>>>> enable/compile the decklink drivers and so it would be crazy to use
>>>> g++ all the time to link it.
>>> Well, you are really very vague and don't give us any relevant
>>> information at all.
>>> But usually that would be because you're missing -lstdc++
>> Sorry, I may have given too much info.
> No, you have given too little.  Please send the patch and show us
> the error message.
> Diego

Sorry. I was talking about the background. I never know how much to 
write before eyes start glazing over and people reach for the delete key :-)

I have this compiling and linking and running by hand (I simply 
copy/paste the final mplayer link line, replacing cc with g++), but it 
would be nice if configure could take care of it. The actual DeckLink 
driver patch was posted on this list and can be seen here:


patch url 

Here is the original errors when it tried to link with cc instead of g++:

libvo/vo_decklink.o: In function `config':
vo_decklink.cpp:(.text+0x50b): undefined reference to `operator 
new[](unsigned long)'
libvo/vo_decklink.o: In function `preinit':
vo_decklink.cpp:(.text+0x7a7): undefined reference to `operator 
new(unsigned long)'
libvo/vo_decklink.o: In function 
undefined reference to `operator delete(void*)'
libvo/vo_decklink.o: In function 
undefined reference to `operator delete(void*)'
for IDeckLinkVideoOutputCallback]+0x10): undefined reference to 
for IDeckLinkVideoOutputCallback]+0x18): undefined reference to 
for IDeckLinkVideoOutputCallback]+0x20): undefined reference to 
for IDeckLinkVideoOutputCallback]+0x28): undefined reference to 
for IDeckLinkVideoOutputCallback]+0x30): undefined reference to 
libvo/vo_decklink.o:(.rodata._ZTV8IUnknown[vtable for IUnknown]+0x10): 
more undefined references to `__cxa_pure_virtual' follow
for DeckLinkVideoOutputCallback]+0x0): undefined reference to `vtable 
for __cxxabiv1::__si_class_type_info'
for IDeckLinkVideoOutputCallback]+0x0): undefined reference to `vtable 
for __cxxabiv1::__si_class_type_info'
libvo/vo_decklink.o:(.rodata._ZTI8IUnknown[typeinfo for IUnknown]+0x0): 
undefined reference to `vtable for __cxxabiv1::__class_type_info'
collect2: ld returned 1 exit status



More information about the MPlayer-dev-eng mailing list