Welcome to wxWidgets/CE
=================================================
-You have downloaded the Windows CE port of the wxWidgets GUI library.
-This runs on Pocket PC 2002/2003, Smartphone 2002/2003,
-Windows CE .NET 4.x, and Windows Mobile 5.
+This is the readme file for the Windows CE port of the wxWidgets GUI library
+which runs on Pocket PC 2002/2003, Smartphone 2002/2003, Windows CE .NET 4.x,
+and Windows Mobile 5. This port requires the use of Microsoft Visual Studio
+2005 and 2008, in particular eVC (Visual C++ Embedded) is not supported any
+longer.
-More information about the wxWidgets project as a whole
-can be found at:
+More information about the wxWidgets project as a whole can be found at:
- http://www.wxwidgets.org
+ http://www.wxwidgets.org/
Information about the Windows CE port in particular can be found in
the wxWinCE topic in the wxWidgets reference manual.
-Supported platforms
-===================
-These are the supported platforms at the moment:
-
-- x86 emulator build in eVC 3 and eVC 4.x
-- Pocket PC (StrongARM)
-- Smartphone (StrongARM)
-- Windows Mobile 5
-
-You can test the library and applications using the Pocket PC emulator
-and/or Compaq iPAQ or other PDAs using Pocket PC.
-
-Compiler installation
-=====================
-
-1. Embedded Visual C++
-----------------------
-
-Get the Visual C++ embedded (FREE) from Microsoft website
- http://msdn.microsoft.com/vstudio/device/embedded/download.asp
-
-You must use Embedded Visual C++ 3.0 or Embedded Visual C++ 4.x.
-
-You can download the Smartphone 2002/3 and Pocket PC 2002/3
-SDKs separately.
-
-2. Visual Studio 2005
----------------------
-
-VS 2005 Professional is required to write Windows Mobile 5 applications, although Pocket PC
-2003 applications should also run on Mobile 5. VS 2005 must
-be purchased, and you can then download the Mobile 5 2005 SDK
-from Microsoft's site.
-
wxWidgets/CE Configuration
================================
-You may wish to customize the following file
-before compiling wxWinCE:
+You may wish to customize the file include/wx/msw/wince/setup.h before building
+wxWinCE to disable any features that your program doesn't need and minimize the
+size of the library.
-include/wx/msw/wince/setup.h
wxWidgets/CE Compilation
================================
-NOTE: to generate targets not in the standard project files,
-you should rebuild the project files using Bakefile.
-Also, if you are building from a SVN version of wxWidgets,
-you need to create eVC++ project files or get them from
-somewhere, such as the daily makefile builds here:
-
-http://biolpc22.york.ac.uk/pub/Daily_Makefiles/
-
-See technote docs/tech/tn0016.txt for details on using Bakefile,
-and you can get Bakefile from:
-
-http://bakefile.sf.net
-
-Open build/wince/wx.vcw, select an ARM or x86 target (or emulator
-target for eVC++ 4), and compile.
+Unless the archive you downloaded already included CE-specific project files,
+you first need to generate them yourself. For this please install bakefile
+(from http://www.bakefile.org/, see technote docs/tech/tn0016.txt for more
+details about it) and create the file build/bakefiles/Bakefiles.local.bkgen
+with the following contents for Visual Studio 2008 (replace 2008 with 2005
+everywhere for the previous version):
-Then open samples/minimal/minimal.vcw, select an ARM, x86 or emulator
-target, and compile. You can use the emulator or real hardware to run
-the sample.
+<?xml version="1.0" ?>
-There may be long delays while eVC++ computes dependencies, and expect
-to wait a long time for loading and saving workspaces. Do not attempt to
-save the wxWidgets library project file: it will take forever and generate
-a huge file, so make alterations either using Bakefile or by editing the
-project file with a text editor, and reloading. Sample project files are OK
-to save.
+<bakefile-gen xmlns="http://www.bakefile.org/schema/bakefile-gen">
+ <add-formats>msvs2008prj(arm)</add-formats>
+ <add-flags files="wx.bkl" formats="msvs2008prj(arm)">
+ -o ../msw/wx_vc9arm.sln -DMSVS_PLATFORMS=pocketpc2003 -DCOMPILER_PREFIX=vc9arm
+ </add-flags>
+ <add-flags files="../../samples/*/*" formats="msvs2008prj(arm)">
+ -o $(INPUT_FILE_DIR)/$(INPUT_FILE_BASENAME_NOEXT)_vc9arm.sln -DMSVS_PLATFORMS=pocketpc2003 -DCOMPILER_PREFIX=vc9arm
+ </add-flags>
+</bakefile-gen>
-To compile using the emulator on eVC++3:
+Notice that this will create the output files in the directories using "vc9arm"
+prefix instead of the usual "vc" one which allows to build the normal wxMSW and
+wxCE in the same wxWidgets source tree. You're, of course, free, to use
+different names for the project files suffix and the output directories prefix
+if you wish.
-- Open build/wince/wx.vcw, select the
- WIN32 (WCE x86) Debug Unicode configuration, close the dialog,
- then select Pocket PC 2002 and Pocket PC 2002 Emulation on the toolbar,
- and compile.
+Then do
-- Open samples/minimal/minimal.vcw, select the
- WIN32 (WCE x86 Debug) configuration, and select Pocket PC 2002 and
- Pocket PC 2002 Emulation as before.
+cd %WXWIN%\build\bakefiles
+bakefile_gen -f msvs2008prj
-To compile using the emulator on eVC++4:
+to create all *vc9arm.vcproj files. After this, simply open the solution file
+in Visual Studio and build it.
-- Open build/wince/wx.vcw, select the
- WIN32 (WCE Emulator) Debug configuration, and compile.
-
-- Open samples/minimal/minimal.vcw with eVC++, select the
- WIN32 (WCE emulator) Debug configuration, and compile.
-
-Note: builds for the different SDKs (Smartphone, PPC, .Net)
-use the same directory and library names, so for the moment
-these builds cannot co-exist simultaneously.
-
-To use Visual Studio 2005, you need to allow VS to convert the projects
-first (but install all the SDKs you need to _before_ converting), and then
-you need to adjust the library settings of each wxWidgets and sample project.
-
-Edit the configuration properties for each configuration and in the Librarian,
-add a relative path ..\..\lib to each library path. For example:
-
-..\..\lib\$(PlatformName)\$(ConfigurationName)\wx_mono.lib
-
-Then, for a sample you want to compile, edit the configuration properties
-and make sure ..\..\lib\$(PlatformName)\$(ConfigurationName) is in the Linker/General/Additional
-Library Directories property. Also change the Linker/Input/Additional Dependencies
-property to something like:
-
-coredll.lib wx_mono.lib wx_wxjpeg.lib wx_wxpng.lib wx_wxzlib.lib wx_wxexpat.lib commctrl.lib winsock.lib wininet.lib
-
-since the library names in the wxWidgets workspace were changed
-by VS 2005.
Status
======
The "Life!" demo in demos/life has some adaptations for
wxWinCE, and also demonstrates how to make an installer for
a Pocket PC application.
-
-Disclaimer
-==========
-
-All product names are used for identification purposes and are trademarks
-or registered trademarks owned by their respective companies.
-