[Theora-dev] Encoder not linking on win32?

illiminable ogg at illiminable.com
Sat Oct 9 21:59:59 PDT 2004


----- Original Message ----- 
From: "David Barrett" <dbarrett at quinthar.com>
To: <theora-dev at xiph.org>
Sent: Sunday, October 10, 2004 9:28 AM
Subject: [Theora-dev] Encoder not linking on win32?


> 5) Made some very minor changes to my code so it'd compile (change casting
> from signed to unsigned chars in a couple places)
>
> 6) Linked my application and it failed to find the following functions:
>
> _theora_encode_tables
> _theora_encode_comment
> _theora_encode_header
> _theora_encode_init
> _theora_encode_packetout
> _theora_encode_YUVin
> _theora_encoder_clear referenced in function _theora_clear
>
> For some reason all the unlinkable functions have underscore prefixes, 
> even
> though my code has none.  Were any changes made to the encoding function
> prototypes since 1.0a3?
>
> Thanks, I'm really eager to try out the new code!
>

I'd suggest you didn't clean it properly the first time... so the firt link 
that actually worked... was a link to an old version that was already built 
on your system ? Is that a possibility ?

If the functions really aren't exposed... it doesn't make sense it would 
link once and then not any more.

Also, the underscores are part of the name mangling... ignore the leading 
underscore.

Also... maybe you could post the full link error (all the text including the 
name mangling) for one of those errors ?

Also, are you sure your calling application is using the same calling 
convention ? ie __cdecl ? Chances are if it's a C++ program you are calling 
from you are using __stdcall or __thiscall convention.

But since one of those link errors is internal... ie theora_clear calling 
encoder_clear, try finding these encode functions and see if there is a big 
#ifdef around them stopping them building... if there is, you'll need to 
define the symbol appropriately somewhere.

Zen.




More information about the Theora-dev mailing list