[speex-dev] status report on the Windows CE (PocketPC) ACM codec

Christian Buchner Christian.Buchner1 at epost.de
Wed Jan 7 06:15:04 PST 2004



Hello,

just a brief report on where I am going with that Windows CE ACM Speex codec.

* I managed to compile the GSM610 sample codec by Visual C++ Embedded
   for the ARM processor. This is set up as a DLL project in the IDE. Replacing
   the implementation with the existing Win32 code should be straightforward now.

* I wrote an install/setup procedure for the codec (works fine)

* I built a cross-compiler for target "arm-newlib-coff" on the CygWin platform
   (which runs on Windows and emulates a unix shell and related GNU apps)

* The cross compiler can build speex-1.1.3 and generates a .lib file which I
   hope to link into the codec. The advantage of this approach is that I do not
   need to modify the Speex distribution much.

<p>Now here is where I have problems and not yet found a solution:

* the function names exported in the .lib created by gcc are not compatible
  with the function name decorations that the VisualC++ embedded linker expects.
  I keep getting unresolved external symbol messages.
  A __stdcall function for example would have to look like this (the number
  obviously indicating the number of bytes passed as arguments on the stack)
  _function at 4
  However gcc will not emit these function names. I tried to force this to
  __cdecl type functions which would have names like _function, but so far
  without success.

* Loading resource strings from the codec DLL seems to fail. The codec
  name turns out blank on the PocketPC, however that is just a minor flaw
  and could be fixed by hardcoding those strings.

*Future conflicts might arise from the 2 different stdlib implementation.
  The gcc code will use the open-source "newlib" while the Visual C++ compiled
  code will rely on Microsoft's libc.

<p>Well, with some luck I will be able to compile a working codec, but the linking
issue is a real showstopper right now.

Is there a way to post-process a .lib file to alter its export symbols?

Christian

<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Speex-dev mailing list