build stlport 5.1 for WinCE Mobile 5.0

Developers
2006-10-14
2013-05-13
  • Mickey Mestel
    Mickey Mestel
    2006-10-14

    hi,

    i've just sucessfully built this, and wanted to list the steps that i had to take for others to follow, and hopefully avoid the pain that i went through to get here.

    i'm on XP, using VS2005 with the Mobile 5.0 Pocket PC SDK, which is a free download from MS.  i'm also building this in the cygwin bash shell.

    some of this is obviuos, but cost me a lot of time , for instance, running the vsvars32.bat script in the ..\Microsoft Visual Studio 8\VC\bin directory was supposed to set up the environment variables, but wasn't.  i ran the script and looked, and thought i saw what i needed, but what was set was done on login for VC++ 6, so i just didn't see it correctly, and could have saved a lot of time that way.  in the end, we had to set the INCLUDE env variable to one string only, (listed below), to get it to work.  those with more familiarity with windows and shells may have done this much easier.

    1) PATH must include the necessary paths to the compiler you wish to use.  obvious, but...  in this case it is the VC2005 tools in c:\Program Files\Microsoft Visual Studio 8\...

    2) INCLUDE env variable must be set to the path for the include files of the SDK, *NOT* the compiler tools.  very important, and took a long time to figure out.  in this case it is c:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Include\Armv4i

    3) in the file ../stlport/build/lib/configure.bat, added the line

    echo TARGET_PROC=arm >> ../Makefiles/config.mak

    at linen 260 in the :oc_evc8 section

    as it was complaining abot no processor defined, and yet there were entries for arm in the makefiles.

    4) in the file .../stlport/build/Makefiles/nmake/evc8.mak

    changed line 28 from:

    DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "$(TARGET_PROC_SUBTYPE)"

    to

    DEFS_COMMON = $(DEFS_COMMON) /D "ARM" /D "_ARM_" /D "ARMV4I"

    needed to get rid of the TARGET_PROC_SUBTYPE as that wasn't defined anywhere and so gave an error on the command line for an empty /D, and needed to define ARMV4I.

    those are the steps that i needed to take to make this compile, (haven't actually linked it with my program and ran it yet:-)

    i can't remember, (and it is a lot of effort right now to recreate each step), all of the error messages along the way, but this should work if your environment is relatively the same.

    hope this helps someone along the way.

    mickm