--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Tim Johnson" <tjoh...@high-point.com> wrote in message
news:OPpkWSo5...@TK2MSFTNGP14.phx.gbl...
Are you saying people simply can't build unmanaged C++ apps for PocketPC
devices any more?? That's very had to believe.
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Andrey Yatsyk [eMVP]" <yat...@gmail.com> wrote in message
news:ufLuHep5...@TK2MSFTNGP10.phx.gbl...
--
Andrey
I'm confused - can I build unmanaged C++ applications for Windows Mobile 5
on a PDA?
--
Tim Johnson
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Tim Johnson" <tjoh...@high-point.com> wrote in message
news:en0Dscv5...@TK2MSFTNGP11.phx.gbl...
For CE 4.2:
Managed C# or VB only using Studio 2003 and CF 1.0
Unmanaged C++ in eVC 4.0 SP3
For CE 5.0
Managed C# or VB only using Studio 2005 and CF 1.0 or 2.0
Unmanaged C++ in Studio 2005 _or_ eVC 4.0 SP4
Managed C++ is not supported in either 4.2 or 5.0, nor should you expect it
any time soon.
Development _on_ the CE device is probably supported by some wacky compiler
out there
--
Chris Tacke
Co-founder
OpenNETCF.org
Are you using the SDF? Let's do a case study.
Email us at d c s @ o p e n n e t c f . c o m
http://www.opennetcf.org/donate
"Tim Johnson" <tjoh...@high-point.com> wrote in message
news:eRXyHlv5...@TK2MSFTNGP12.phx.gbl...
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Chris Tacke, eMVP" <cta...@spamfree-opennetcf.org> wrote in message
news:uF44KBw5...@TK2MSFTNGP14.phx.gbl...
How do build unmanaged C++ code in evc4.0? I've installed SP4, and
something called the WM5 SDK. I now see these directories when I'm all
done:
C:\Program Files\Windows CE Tools\wce300\Pocket PC 2002
C:\Program Files\Windows CE Tools\wce420\Pocket PC 2003
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK
I also see these:
C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\PocketPC2003
C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SmartPhone2003
(but nothing that says "Wm5")
In evc4's combobox for "WCE Configuration" I still only see a choice for
STANDARDSDK_420 and PocketPC 2003. In its combobox for "Default Device" I
see only "PocketPC 2003 Device" and "Pocket PC 2003 Emulator".
How can I kick evc4 to know about WM5?
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Chris Tacke, eMVP" <cta...@spamfree-opennetcf.org> wrote in message
news:uF44KBw5...@TK2MSFTNGP14.phx.gbl...
clip
>Development _on_ the CE device is probably supported by some wacky compiler
>out there
I've never used NS Basic or Pocket PC, but I don't think either is
fairly described as wacky. And I know they at least used to have
versions for Pocket PC.
-----------------------------------------
To reply to me, remove the underscores (_) from my email address (and please indicate which newsgroup and message).
Robert E. Zaret, eMVP
PenFact, Inc.
20 Park Plaza, Suite 478
Boston, MA 02116
www.penfact.com
-Chris
<r_z_aret@pen_fact.com> wrote in message
news:gsmcn1165clq4thce...@4ax.com...
-Chris
"Tim Johnson" <tjoh...@high-point.com> wrote in message
news:e$lrqt85F...@TK2MSFTNGP15.phx.gbl...
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"<ctacke/>" <ctacke_AT_OpenNETCF_com> wrote in message
news:enMbk1A6...@tk2msftngp13.phx.gbl...
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"<ctacke/>" <ctacke_AT_OpenNETCF_com> wrote in message
news:enMbk1A6...@tk2msftngp13.phx.gbl...
The question is how to build unmanaged C++ code for a Windows Mobile 5 PDA
(not SmartPhone). Everything works fine under PocketPC2003.
1) evc4.0 SP4: I still can't get it to work.
There doesn't seem to be any WM5 SDK for evc4.0, only PocketPC2003 and
earlier. If I just build anyway and deploy to the PDA I get "not a valid
PocketPC application". Even after repeated reinstallations of evc4.0 I see
no option to target a WM5 device.
Conclusion: you can't build C++ targeted for WM5 using evc4.0 SP4
2) VS2005: I still can't get it to work.
I've installed the WM5 SDK and select the Windows CE 5.0 target to build my
unmanaged C++ code (turns out VS2005 can only build unmanaged C++ code, it
doesn't support managed C++). When I deploy the solution (a C++ dll and a
C++ test.exe to use it) I get the same "not a valid PocketPC application".
This C++ dll also exports some standard non-class "flat" functions. If I
create a managed C# app in VS2005 to P/Invoke a flat function I get "Can't
find P/Invoke DLL". I also tried using VS2005 but targeting a PocketPC2003
device. In this case I get "Cannot find test.exe or one of its components".
Conclusion: there's a bug in VS2005 (at least the Beta2 I'm still using)
which should let you build unmanaged C++ for WM5
Status: I can't port my working unmanaged C++ apps to WM5.
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"<ctacke/>" <ctacke_AT_OpenNETCF_com> wrote in message
news:eEWV70A6...@tk2msftngp13.phx.gbl...
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
<h...@40th.com> wrote in message
news:%23whi2UN...@TK2MSFTNGP11.phx.gbl...
> TJ- [Fri, 18 Nov 2005 22:08:20 -0800]:
> >The question is how to build unmanaged C++ code for a Windows Mobile 5
> >PDA
>
> Since when is it unmanaged C++? It's just
> plain C, or C++. If you want to adulterate
> it, then it could be managed C++.
>
> >1) evc4.0 SP4: I still can't get it to work.
> >There doesn't seem to be any WM5 SDK for evc4.0, only PocketPC2003 and
>
> evc4 with SP2 or later is for CE5, not PPC/WM5,
> at least as far as using WM5 PPC/SP SDKs, or to
> debug on WM5 devices (i.e, you can't). However,
> yes, you can make perfectly fine apps that run
> on WM5 PPC/SP using evc. I do it now. Matter
> of fact, the same app (could) runs on any PPC
> since the first (PPC from 2000) and any current
> PPC (Wm5), and yet still take advantage of newer
> APIs. Programming 101 (well, 202, maybe 303).
>
> >2) VS2005: I still can't get it to work.
> >I've installed the WM5 SDK and select the Windows CE 5.0 target to build
> >my
>
> You should not see such a target. This is what
> you should see, once you get a solution/project
> set up.
>
> http://40th.com/tmp/vs2005_project.html
>
> That's a dual-project solution: one for PPC,
> and another for W32/desktops. I have no
> problem deploying/debugging to a device, the
> emulator, or the desktop. It's not perfect,
> but it's easy enough to make do what I want
> without having to have separate solutions for
> PPC and desktop versions (same source code).
> That's not quite what you're after, but just
> to show you it works here, and then some.
>
> >Status: I can't port my working unmanaged C++ apps to WM5.
>
> There's no such thing as unmanged C++. That
> phrase is an abomination. What the problem
> there is, I'd guess
>
> 1. Bad install of the PPC WM5 SDK
> 2. Bad install of vs2005 (beta bits left over)
> 3. Bad solution setup
> 4. Even thinking about "managed C++" (brain rot)
> 5. All of the above
>
>
> --
> 40th Floor - Software @ http://40th.com/
> iPlay : the ultimate audio player for mobiles
> parametric eq, xfeed, reverb; all on a mobile
You are mistaking two different types of project in VS2005 - Windows
Mobile 5 and Windows CE 5. If you build a project for Windows CE 5 it
should theoretically run on your PDA except you might not get a correct
CPU selected by default - should be ARMV4I. The right thing to do is to
choose Windows Mobile 5 as one of your application targets.
And one other thing. Get off the beta 2 - there was a lot of issues with it
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Alex Feinman (MVP)" <publi...@alexfeinman.com> wrote in message
news:uCPZG9a7...@TK2MSFTNGP14.phx.gbl...
>TJ- [Fri, 18 Nov 2005 22:08:20 -0800]:
> >The question is how to build unmanaged C++ code for a Windows Mobile 5 PDA
>
>Since when is it unmanaged C++? It's just
>plain C, or C++. If you want to adulterate
>it, then it could be managed C++.
>
> >1) evc4.0 SP4: I still can't get it to work.
> >There doesn't seem to be any WM5 SDK for evc4.0, only PocketPC2003 and
>
>evc4 with SP2 or later is for CE5, not PPC/WM5,
>at least as far as using WM5 PPC/SP SDKs, or to
>debug on WM5 devices (i.e, you can't). However,
>yes, you can make perfectly fine apps that run
>on WM5 PPC/SP using evc. I do it now. Matter
>of fact, the same app (could) runs on any PPC
>since the first (PPC from 2000) and any current
>PPC (Wm5), and yet still take advantage of newer
>APIs. Programming 101 (well, 202, maybe 303).
Slightly off topic:
I'm glad to find someone else who is trying to build exes. I've been
using eVC 3 with the Pocket PC SDK to build apps that work on Pocket
PC, Pocket PC 2002, Pocket PC 2003, and Pocket PC 2003 SE. I finally
had a chance to try it on a WM 5 device and it almost works. It also
works under WM 5 in portrait mode. But in landscape mode, it is a bit
off. All my controls are positioned properly, but the full height of
the main dialog box seems to be too large. That means the vertical
scroll bar appears. And that clips my screen just a bit.
>
> >2) VS2005: I still can't get it to work.
> >I've installed the WM5 SDK and select the Windows CE 5.0 target to build my
>
>You should not see such a target. This is what
>you should see, once you get a solution/project
>set up.
>
> http://40th.com/tmp/vs2005_project.html
>
>That's a dual-project solution: one for PPC,
>and another for W32/desktops. I have no
>problem deploying/debugging to a device, the
>emulator, or the desktop. It's not perfect,
>but it's easy enough to make do what I want
>without having to have separate solutions for
>PPC and desktop versions (same source code).
>That's not quite what you're after, but just
>to show you it works here, and then some.
>
> >Status: I can't port my working unmanaged C++ apps to WM5.
>
>There's no such thing as unmanged C++. That
>phrase is an abomination. What the problem
>there is, I'd guess
>
> 1. Bad install of the PPC WM5 SDK
> 2. Bad install of vs2005 (beta bits left over)
> 3. Bad solution setup
> 4. Even thinking about "managed C++" (brain rot)
> 5. All of the above
-----------------------------------------
>On Fri, 18 Nov 2005 22:48:12 -0800, h...@40th.com () wrote:
>
>>TJ- [Fri, 18 Nov 2005 22:08:20 -0800]:
>> >The question is how to build unmanaged C++ code for a Windows Mobile 5 PDA
>>
>>Since when is it unmanaged C++? It's just
>>plain C, or C++. If you want to adulterate
>>it, then it could be managed C++.
>>
>> >1) evc4.0 SP4: I still can't get it to work.
>> >There doesn't seem to be any WM5 SDK for evc4.0, only PocketPC2003 and
>>
>>evc4 with SP2 or later is for CE5, not PPC/WM5,
>>at least as far as using WM5 PPC/SP SDKs, or to
>>debug on WM5 devices (i.e, you can't). However,
>>yes, you can make perfectly fine apps that run
>>on WM5 PPC/SP using evc. I do it now. Matter
>>of fact, the same app (could) runs on any PPC
>>since the first (PPC from 2000) and any current
>>PPC (Wm5), and yet still take advantage of newer
>>APIs. Programming 101 (well, 202, maybe 303).
>
>Slightly off topic:
>I'm glad to find someone else who is trying to build exes.
OOPS. Should have been "portable exes (exes that run on more than one
platform)".
I went back to complete basics here - using VS2005 (RTM, not Beta2) to
create a simple C++/MFC app (simple1.exe) that does NOTHING, straight out of
the project wizard, using these settings:
Dialog-based exe
Use shared MFC dll
Solution Platform: Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
Target Device: Windows Mobile 5.0 Pocket PC Device
(1) MFC / WM5
When I build it in Debug mode, and deploy it in /Windows/Start Menu/Programs
on my HP hx2400 Windows Mobile 5 running .Net CF v2.0 I see it also
downloads these support files:
msvcr80.dll
atl80.dll
msvcr80d.dll
MFC80UD.dll
When I run it I get this:
"The file 'simple1' cannot be opened. Either it is not signed with a
trusted certificate, or one of its components cannot be found. You might
need to reinstall or restore this file".
(2) Win32 / Wm5
If instead I use the project wizard to create a simple Win32 Windows app, it
runs fine
(3) MFC / PPC203
I then tried exactly the same thing but targeting the PocketPC 2003 (ARMV4)
platform and the Pocket PC 2003 Device, for my older hp 1910 iPAQ that runs
Pocket PC 2003. I installed CF v2.0 on it first. I see the same support
files downloaded. When I run it on PocketPC2003 I get this:
"Cannot find 'simple1' (or one of its components). Make sure the path and
filename are correct and all the required libraries are available".
(4) Win32 / PPC2003
If I build a PPC2003 Win32 Windows app in VS2005 it runs fine.
Note this about as simple an exe as you can get - no calls to dlls involved,
in fact I didn't write a single line of code, just let the wizard build the
project and then I deployed it.
Does anybody else get this behavior on C++/MFC apps under VS2005? Maybe
something about MFC isn't really being downloaded and that's what "missing"?
I'm totally stumped by this.
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Tim Johnson" <tjoh...@high-point.com> wrote in message
news:uOdj8gf7...@tk2msftngp13.phx.gbl...
When I apply this new knowledge to my real app I now get to the next
problem. I have a C++/MFC dll and a C++/MFC app. If I simply link the app
to the dll, no problem linking or deploying or running. But I if I actually
use the dll (MyClass c = new MyClass() ), I get the message "is not a valid
PocketPC application".
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Tim Johnson" <tjoh...@high-point.com> wrote in message
news:erxTaJg8...@TK2MSFTNGP14.phx.gbl...
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
<h...@40th.com> wrote in message
news:OzESg8L9...@TK2MSFTNGP15.phx.gbl...
> The C runtime is part of the OS, in core*dll, among
> others. I don't think there's a distinction even
> among the *d versions. What you are doing with the
> msvcr*dll I don't know, but it sounds like you're
> making a desktop app, and that would make the message
> you're getting seem appropriate. You may want to
> check your include path(s), and make sure it's using
> the wm5 sdk path, not a win32 path. Same goes for
> any import library path(s), and any #pragma libs, etc.
>
> TJ- [Mon, 28 Nov 2005 07:35:59 -0800]:
> >\Program Files\simple1 - msvcr80.dll, mscvr80d.dll, atl80.dll, and
> >mfc80ud.dll. Those are the "missing components" the message is referring
>
Found a useful link relevant to the problems I'm having:
The highlights:
1. In VS2005/WM5 there are new "v8.0" libraries for MFC, ATL, C-runtime, and
Standard C++ Library (SCL). These are not guaranteed to be in ROM on the
device. They happen to be the 4 files we've been discussing -
mfc80u[d].dll, atl80.dll, msvcr80.dll, and msvcr80d.dll.
2. I'd been doing a dynamic link as I've always done, believing MFC etc was
built-in to the device, so why needlessly enlarge my program. Now they are
not on the device. So you either a) dynamically link but make sure to
download the files; or b) statically link. When I statically link my .exe
goes from 108K to 1.8Mb (mostly due to the debug version of MFC, which is
1.5M - the release version is 687K). You can see the file sizes on your
desktop in this directory:
C:\Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4i
3. Now I statically link, and have removed the "additional files" entries
that named the v8.0 dlls. But I continue to get the "not valid PocketPC
app" message. The article suggests this is some kind of conflict with other
apps or the OS which I'm still investigating.
--
Tim Johnson
High Point Software, Inc.
www.high-point.com
(503) 312-8625
"Tim Johnson" <tjoh...@high-point.com> wrote in message
news:O%23ft7uR%23FH...@TK2MSFTNGP12.phx.gbl...