$Id$ ============================================================================= GDAL/OGR port for Window CE Mateusz Loskot, mateusz@loskot.net ============================================================================= GDAL/OGR for Windows CE features: - all base OGR API and modules (port, ogr) - subset of OGR drivers (ogr\ogrsf_frmts): generic, mitab, shape - wcelibcex - extension to C library on Windows CE Features not included in GDAL/OGR for Windows CE: - in fact, this port does not include rasters support - GEOS has not been ported yet, so OGR for Windows CE compiles without GEOS support (work is in progres) - OGR drivers not listed in features list above I'd like to thank: ================== - Frank Warmerdam for GDAL/OGR and priceless support he provide me - Taxus SI Ltd. from Poland for their great support - Users from IRC #gdal channel - All users, testers and contributors ============================================================================= Content of gdal\wince directory: ============================================================================= - wcelibcex Windows CE C Library Extensions provide some functions missing in the standard C library on Windows CE devices, e.g. time, ctime, mkdir, etc. It will be hosted as a separate project: http://sourceforge.net/projects/wcelibcex - wce_test_lib Sample application to test gdalce.lib - static library - build with makefile.evc4. - wce_test_dll Sample application to test gdalce.dll - DLL - build with makefile.evc4. NOTE: Currently, DLL produced that way seems to be broken and can not be loaded properly. So, if you are NMake/Makefiles guru you're welcome to fix it. Thanks in advance! - evc4_gdalce_lib* Project file for eMbedded Visual C++ 4.0 to build GDAL/OGR as a static library. - evc4_gdalce_lib_test* eMbedded Visual C++ 4.0 project of sample application to test static library built using evc4_gdalce_lib project. - evc4_gdalce_dll* Project file for eMbedded Visual C++ 4.0 to build GDAL/OGR as a DLL. - evc4_gdalce_dll_test* eMbedded Visual C++ 4.0 project of sample application to test DLL built using evc4_gdalce_dll project. (***) Project files for eMbedded Visual C++ 4.0 are not compatible between versions 3.0 and 4.0. So, in order to build GDAL/OGR using eVC++ 3.0 you have to create project files from scratch. ============================================================================= Building GDAL/OGR for Windows CE .NET: ============================================================================= NOTE: Windows CE .NET is a version 4.0 - 4.2 and it's only a name, so there is no .NET Framework dependency! Starting from Windows CE 5.0, Microsoft has removed .NET from the name of the system. NOTE SDK: GDAL on Windows CE has been tested using SDK for following systems: 1. Pocket PC 2003 - here, I ONLY tested using ARM configuration and target device but I've not used it with x86 emulator, so I'd say emulator target os UNSUPPORTED 2. Windows Mobile 5.0 3. Windwos CE 5.0 Requirements: ============= First, you need to install following software on your machine: 0. Compilation box running Windows NT/2000/XP 1. Microsoft eMbedded Visual C++ 4.0 - it's free http://www.microsoft.com/downloads/details.aspx?FamilyID=1DACDB3D-50D1-41B2-A107-FA75AE960856 2. Microsoft eMbedded Visual C++ 4.0 Service Pack 4 http://www.microsoft.com/downloads/details.aspx?FamilyID=4A4ED1F4-91D3-4DBE-986E-A812984318E5 3. SDK for Windows Mobile 2003-based Pocket PCs http://www.microsoft.com/downloads/details.aspx?FamilyId=9996B314-0364-4623-9EDE-0B5FBB133652 Note: I have only tested OGR port with Pocket PC 2003 SDK but there should not be any problem with building it using other Windows CE SDKs. If you've managed to build OGR port using other SDKs pleaes let me know. 4. The Run-time Type Information library for the Pocket PC 2003 SDK http://support.microsoft.com/default.aspx?scid=kb;[LN];830482 5. I also recommend to use STLport Here is some introduction: http://mateusz.loskot.net/2005/12/25/how-to-use-stlport-with-evc/ it refers to my article on http://www.pocketpcdn.com Building with makefiles: ======================== 1. Open command line (cmd.exe) on your Windows box and go to gdal sources directory e.g. C:\gdal 2. Run configuration script for ARM target. It's default location is: C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\wce420\bin\WCEARMV4.BAT Now, runs some commands to check if everything is configured well: C:\gdal>clarm.exe /? Microsoft (R) C/C++ Optimizing Compiler Version 12.20.9615 for ARM Copyright (C) Microsoft Corp 1984-2002. All rights reserved. C:\gdal>echo %PLATFORM% POCKET PC 2003 C:\gdal>echo %OSVERSION% WCE420 3. Build C:\gdal>nmake /f makefile.evc4 4. If everything went without any errors you should have following files in gdal root directory (C:\gdal): gdalce.lib - static library (PREFERED) gdalce13.dll - Dynamic-Link Library (DLL) (See IMPORTANT note) gdalce_i.exp - export file for DLL gdalce_i.lib - import library for DLL (***) IMPORTANT! Currently gdalce13.dll built with NMake seems to be broken. So, if you want to use GDAL/OGR for Windows CE as DLL please use eVC++ 4.0 project file from evc4_gdalce_dll directory at the moment. This issue is known and waiting for fix :-) Building with project files: ============================ In order to build GDAL/OGR for Windows CE using eVC++ 4.0 or VC++ 2005 project files, just open appropriate workspace/project files with IDE you're using. Frist, remember, to rename port/cpl_config.h.evc4 file to read as port/cpl_config.h. If eVC++/VC++ can't recognize project files correctly, then check if .vcw/.vcp/.sln/.vcproj files include Windows-like end lines - CR/LF. If those files include only LF, then you can open/save them using Notepad editor to fix it. Summary of building GDAL/OGR for Windows CE: ============================================ 1. Static Library: - using makefile.evc4 - using eVC++ 4.0 project file in evc4_gdalce_lib directory 2. DLL: - using eVC++ 4.0 project file in evc4_gdalce_dll directory - building with makefile.evc4 is currently broken ============================================================================= How can I report a bug? ============================================================================= Visit Bugzilla on http://bugzilla.remotesensing.org Bug Writing Guidelines: http://bugzilla.remotesensing.org/page.cgi?id=bug-writing.html ============================================================================= How can I contribute? ============================================================================= - you can build GDAL/OGR for Windows CE and report problems if any - you can try build/port new OGR drivers - you can test GDAL/OGR on different Windows CE devices - you can write sample applications using GDAL/OGR - if you have found a bug, please report it ============================================================================= All questions and comments are welcome! ============================================================================= Mailing list: gdal-dev@lists.maptools.org You can catch me on mateusz@loskot.net