SDL 1.2 and Windows CE (WinCE) Emulator/SDK

Hi all,

I’m fairly new to Windows CE development and am currently working on a platform running Windows CE 5.0. I have tried compiling SDL 1.2 using the VisualCE projects, but it fails to compile when I target STANDARDSDK_500 (x86); I am trying to get a simple application running in Microsoft’s Windows CE 5.0 emulator which is x86-based.

Does anyone know of a working example project I can take a look at? I’m getting strange errors such as being unable to link to LIBC.dll and syntax errors in winnt.h which really makes no sense to me.

Thanks in advance!

Dan

So I think I’ve made some progress getting this to work, but I’ve hit a brick wall. I get the following linker errors in Visual Studio 2005 when building the main library:

1>win_ce_semaphore.obj : error LNK2019: unresolved external symbol __SEH_epilog4 referenced in function _ReleaseSemaphoreCE
1>win_ce_semaphore.obj : error LNK2001: unresolved external symbol __except_handler4
1>win_ce_semaphore.obj : error LNK2019: unresolved external symbol __SEH_prolog4 referenced in function _ReleaseSemaphoreCE

It appears that no library in the Windows CE 5.0 library contains those symbols. I’m at a bit of a loss here. Is Windows CE 5.0 actually supported? The README.WinCE file states that semaphores aren’t even supported, so do I really need to include this file in the build?

Any help at all would be appreciated.

Hi,

are you using the correct Windows CE SDK?

According to MSDN documentation, Windows CE 5.0 does support semaphores.

http://msdn.microsoft.com/en-us/library/bb202751.aspx--
Paulo

On Sat, May 8, 2010 at 5:06 AM, Rotsiser Mho <rotsiser.mho at gmail.com> wrote:

So I think I’ve made some progress getting this to work, but I’ve hit a
brick wall. I get the following linker errors in Visual Studio 2005 when
building the main library:

1>win_ce_semaphore.obj : error LNK2019: unresolved external symbol
__SEH_epilog4 referenced in function _ReleaseSemaphoreCE
1>win_ce_semaphore.obj : error LNK2001: unresolved external symbol
__except_handler4
1>win_ce_semaphore.obj : error LNK2019: unresolved external symbol
__SEH_prolog4 referenced in function _ReleaseSemaphoreCE

It appears that no library in the Windows CE 5.0 library contains those
symbols. I’m at a bit of a loss here. Is Windows CE 5.0 actually supported?
The README.WinCE file states that semaphores aren’t even supported, so do I
really need to include this file in the build?

Any help at all would be appreciated.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Hmm, yeah I definitely screwed up something in the project files trying to get everything to work. It seems somewhere along the way I defined CEVER as ‘1’ instead ‘500’. Oops. In any case, after many grueling hours I was able to get it to compile and run on the x86 Windows CE 5.0 emulator. For anyone else who may have this problem in the future, my modifications are below. If anyone sees any pitfalls here, I’d appreciate the heads up!>

Using:
Visual Studio 2005 8.0.50727.867
SDL 1.2.14

Code changes:
SDL_sysevents.c
comment out case WM_WINDOWPOSCHANGED as it doesn’t seem to be supported in CE (starts at line 591)

SDL_blit_A.c
Append " && !defined(_WIN32_WCE)" to line 37

Instructions:
Copy Pocket PC 2003 (Release) configuration to new (STANDARDSDK_500 (x86)) configuration

Remove the following from the Additional Dependencies under Linker -> Input:
secchk.lib, ccrtrtti.lib
And add the following:
mmtimer.lib

Remove the following from Preprocessor Definitions under C/C++ -> Preprocessor
ARM
ARM
ARMV4
and replace with the following:
$(ARCHFAM)
$(ARCHFAM)

Remove the following from Additional Options under Linker -> Command Line
/MACHINE:ARM

Set Ignore All Default Libraries to Yes under Linker -> Input

Found a real bug this time in SDL_win32_main.c (1.2.14):

On line 241, STDOUT_FILE should be STDERR_FILE.

Took me a while to figure why I wasn’t seeing a stderr.txt file!