Re: How to compile for HPC 2.0 with eVC++ 3.0 (was: Compiling for H/PC v2.0?)

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Mike Welch (michaelw_at_techemail.com)
Date: 07/20/04


Date: 20 Jul 2004 02:40:29 -0700

I just noticed this reply. I've been away from the forums for a
while.

First of all, yes you can use desktop Windows *.TTF fonts on PocketPC
without conversion.

Secondly, this article tells how to add additional CPU support to a
project:

   http://support.microsoft.com/default.aspx?scid=kb;en-us;Q266243

and it points to another article that makes me think to add a
different platform to an existing project, you have to create an empty
project and import all your source files into it (rebuild the
workspace).

Have you been compiling for HPC/2.0? If you're not getting the errors
I'm getting, then I'd like to know how to fix them. I'm not talking
about H/PC 2.11, that's built-in. 2.0 isn't.

Interesting that the emulator worked at all with eVC v3. I was afraid
to even try it :-)

If you're not getting link errors as I mentioned, what compiler paths
do you have listed under:

   eVC main menu
      Tools menu
         Options
            Directories tab

? I'd be elated to discover I have something setup incorrectly. It
might explain why some other Win32 apps I've compiled since writing
this article just flat won't run on my Jornada 660.

Thanks!

Mike

r_z_aret@pen_fact.com wrote in message news:<06hed01409j3mvg6gefl40hjireuu0v0so@4ax.com>...
> On 19 Jun 2004 15:26:44 -0700, michaelw@techemail.com (Mike Welch)
> wrote:
>
> >How to compile for H/PC 2.0 using eVC++
> >Mike Welch, Dallas
> >---------------------------------------
> >
> >After weeding through several broken links, I managed to find the
> >proper SDK on Microsoft's site. The SDK file is called mplatsdk.exe.
> >The documentation says it's for Visual Studio v5/6 and "other
> >compilers", but doesn't say what other compilers it supports. I won't
> >post the URL here since it may be moved in the future, but at this
> >time at least you can easily find it by searching the downloads area
> >of microsoft.com for it. If that fails, try Google. Currently you
> >can find it via both. This contains the files you need to compile and
> >link, in addition to the samples and the OLD emulator that I'm fairly
> >certain is NOT compatible with eVC v3.x. I did run the emulator
> >stand-alone, however, and it ran fine, so you can probably still test
> >with it, just not through eVC++.
>
> Well, I just tried to use the emulator for the HPC SDK with eVC 3. The
> eVC 3 IDE downloaded the executable automatically. It also started the
> application. But it did not recognize any debug info. So I guess the
> answer is that the combination sort of works. Well enough for some.
> Not well enough for others.
>
>
> >
> >There may be an easier way to do this, but this is what worked for me.
> >I now have my YachtCE app compiling across 9 different OS/hardware/CPU
> >combinations, including a H/PC 2.0 Jornada 660. YachtCE may work on
> >other older machines too, such as the HP 360LX...anybody got one
> >they'd be willing to try it on? :)
> >
> >Things you'll need to know
> >--------------------------
> >
> >Disclaimer: I am not responsible for anything (ask my mother!).
> >Seriously, no liability, do at your own risk!
> >
> >For reference, the directory structure was different in the 2.0 days.
> >If "root" is where you tell the SDK to install, you will be interested
> >in these paths resulting from the installation:
> >
> >Includes: <root>\wce\include\HPC
> >Libraries: <root>\wce\lib\wce200\HPC\<device>
> >Add to path: <root>\wce\bin (and all below)
> >
> >Note that the include directory is the same for all CPUs, but not the
> >libraries path. <device> above, in other words, would be wcemips for
> >MIPS.
>
> This sounds a bit off.
> >
> >Steps to get this to work
> >=========================
> >
> >First of all, download the SDK and, after you make sure eVC isn't
> >running, install it. Then follow the remaining steps below.
> >
> >Registry Hack
> >-------------
> >
> >This will add a new platform to eVC. It's ugly. Make sure there are
> >no small children around. You wouldn't want them to see this. ;-)
>
> Hmm. I've never had to do all this registry hacking. I've installed
> eVC and then the HPC SDK a few times (multiple computers). I can't add
> HPC support to an _existing_ project, but it sure shows up for new
> projects. In this respect, HPC isn't any different from Pocket PC
> (can't add that to an existing project either).
>
> clip
>
>
> >. Go to Tools/Options, Directories Tab, and change your path
> >information to where you installed the H/PC 2.0 SDK. I didn't delete
> >anything, only added new paths, so in case something eVC expects isn't
> >defined, it'll fall back on the original settings.
> > . Ignore the settings for the ARM processor listed. The HPC 2.0 SDK
> >does not have libraries for ARM.
> > . Move your new entries to the TOP of the dialog using the up/down
> >arrow icons for each path you add for each group (executable, include,
> >etc).
>
> Moving entries to the top can speed up compilation a bit, but is not
> required.
>
> >
> >That's it! After doing this I was able to compile and link for the
> >new platform! Well...after a few tweaks to my code (see below).
> >
> >ISSUES - SH3
> >------------
> >
> >In my single test (compiling YachtCE), I found that there were two
> >unresolved externals (meaning they're defined in the includes, just
> >not implemented).
> >. wcstol, which I was able to replace with _wtoi (which IS defined)
> >because I didn't really need the base conversion element.
> >. memset, which I wrote a replacement for (see below).
>
> I definitely use memset often, and never had to define my own. I see
> code in my library that references _tcstol, but I'm not sure I
> actually use it. For Windows CE, _tcstol is defined as wcstol.
>
> >
> >ISSUES - MIPS
> >-------------
> >
> >. I got the same "error LNK2001: unresolved external symbol memset"
> >that I got on the SH3, so I plugged my replacement in.
> >. Then I got "error C2169: 'memset' : intrinsic function, cannot be
> >defined". Go figure...
> >. The fix for this was to rename all references to memset to Zmemset
> >for MIPS. Ugly.
> >
> >With the additional changes listed above, I tested YachtCE.exe on the
> >Jornada 660 (SH3) HPC 2.0 and it worked fine. I don't have a HPC 2.0
> >MIPS machine to test it on, but I'm fairly confident it'll be fine.
> >
> >ISUES - OTHER
> >-------------
> >. My app was using Tahoma and Courier New fonts which didn't exist on
> >the 660, so I changed them to Arial and Courier respectively.
> >
>
> I haven't actually tried, but several folks have said you can download
> any TrueType font from "big" Windows to CE, although they do take up a
> _lot_ of room. I just used google to look up
> windows ce tahoma
> and found a few very relevant threads.
>
> I've been under the impression that Tahoma is the default font for
> dialog boxes under CE. I know my code specifies Tahoma as preferred
> typeface when it calls CreateFontIndirect for Windows CE. But I just
> made a few attempts to confirm that idea, and couldn't find any
> references.
>
> -----------------------------------------
> To reply to me, remove the underscores (_) from my email address (and please indicate which newsgroup and message).
>
> Robert E. Zaret, eMVP
> PenFact, Inc.
> 500 Harrison Ave., Suite 3R
> Boston, MA 02118
> www.penfact.com



Relevant Pages

  • Re: Screen glitches
    ... I compile on Win XP platform. ... Are they using "Large Fonts"? ... >I have one client complaining that on Windows XP machines in heir office, ... > screen in my VFP8 application are positioning some controls in wierd ...
    (microsoft.public.fox.programmer.exchange)
  • Setting up eVC emulator for Windows CE 5.0
    ... I've installed eVC version 4 with SP4. ... specific version of Windows CE and the emulator for it. ... eVC installs WinCE 400 and the emulator files are included there. ... How do I configure eVC 4 to compile Windows CE 5.0 as the OS for my ...
    (microsoft.public.windowsce.embedded.vc)
  • Re: Having trouble with CJK...
    ... I'm sure are supposed to compile properly... ... I had the same problem under MiKTeX as not all fonts get installed ... Unicode TrueType Fonts and pdfTeX under Windows" at ...
    (comp.text.tex)
  • How to compile for HPC 2.0 with eVC++ 3.0 (was: Compiling for H/PC v2.0?)
    ... How to compile for H/PC 2.0 using eVC++ ... The SDK file is called mplatsdk.exe. ... certain is NOT compatible with eVC v3.x. ... including a H/PC 2.0 Jornada 660. ...
    (microsoft.public.pocketpc.developer)
  • Re: Strange compilation error on Visual Studio 2005 and CE custom SDK
    ... It was some smart evc to vs2005 wizard available ... SDK is built with PB5 in same Workspace than OS that runs on device. ... Now I'm capable to compile our library with a lot of hacks into headers, ... BUt form now I cannot compile any app, I'm doing a lot of changes in stdafx and other headers in order to get compiling it. ...
    (microsoft.public.windowsce.platbuilder)