Re: How to compile for HPC 2.0 with eVC++ 3.0 (was: Compiling for H/PC v2.0?)
From: Mike Welch (michaelw_at_techemail.com)
Date: 07/20/04
- Next message: LiuZhiJian: "Re: how to stop the irda application?"
- Previous message: The PocketTV Team: "how to load standard icons ?"
- Next in thread: r_z_aret_at_pen_fact.com: "Re: How to compile for HPC 2.0 with eVC++ 3.0 (was: Compiling for H/PC v2.0?)"
- Reply: r_z_aret_at_pen_fact.com: "Re: How to compile for HPC 2.0 with eVC++ 3.0 (was: Compiling for H/PC v2.0?)"
- Messages sorted by: [ date ] [ thread ]
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
- Next message: LiuZhiJian: "Re: how to stop the irda application?"
- Previous message: The PocketTV Team: "how to load standard icons ?"
- Next in thread: r_z_aret_at_pen_fact.com: "Re: How to compile for HPC 2.0 with eVC++ 3.0 (was: Compiling for H/PC v2.0?)"
- Reply: r_z_aret_at_pen_fact.com: "Re: How to compile for HPC 2.0 with eVC++ 3.0 (was: Compiling for H/PC v2.0?)"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|