Overview
Features
Supported Platforms
Content of 'wince' directory
Building GDAL for Windows CE using Microsoft Visual C++ 2005
Enable PROJ.4 support
wince_building_geos
How can I help?
This document is devoted to give some overview of the GDAL port for Windows CE operating system.
Currently, from version 1.4.0, GDAL includes following features for Windows CE platform:
GDAL for Windows CE has been tested on following versions of Windows CE:
Windows Mobile 5 customized versions of Windows CE 5.0
Supported compilers for Windows CE operating system:
Microsoft Visual C++ 2005 Standard, Professional or Team Suite Edition Microsoft eMbedded Visual C++ 4.0
msvc80 - project for Visual C++ 2005 to build GDAL DLL for Windows CE README - the file you're currently reading TODO - planned and requested features
evc4_gdalce_dll evc4_gdalce_dll_test evc4_gdalce_lib evc4_gdalce_lib_test msvc8_gdalce_lib msvc8_gdalce_lib_test wce_test_dll wce_test_lib wcelibcex
Requirements
Windows Mobile 2003 Pocket PC SDK Windows Mobile 2003 SmartphoneSDK Windows Mobile 5.0 Pocket PC SDK Windows Mobile 5.0 Smartphone SDK Last requirement is the Run-time Type Information library for the Pocket PC 2003 SDK.
External dependencies
There is only one external dependency required to build GDAL for Windows CE. This dependency is WCELIBCEX library available to download from:
http://sourceforge.net/projects/wcelibcex
You can download latest release - wcelibcex-1.0 - or checkout sources directly form SVN. In both cases, you will be provided with project file for Visual C++ 2005.
Download GDAL 1.4.0 release or directly from CVS
Go to http://www.gdal.org/download.html and download ZIP package with GDAL 1.4.0. You can also checkout sources directly from SVN.
For this guidelines, I assume following directories structure:
C:\dev\gdal-1.4.0 C:\dev\wcelibcex-1.0
Projects configuration
Open gdalce_dll.sln project in Visual C++ 2005 IDE
According to the paths presented in step 3, you should load following file:
C:\dev\gdal-1.4.0\wince\msvc80\gdalce_dll\gdalce_dll.sln
Add WCELIBCEX project to gdalce_dll.sln solution
Go to File -> Add -> Existing Project, navigage and open following file:
C:\dev\wcelibcex-1.0\msvc80\wcelibcex_lib.vcproj
Configure path to WCELIBCEX source:
Go to View -> Property Manager to open property manager window Expand tree below gdalce_dll -> Debug -> gdalce_common Right-click on gdalce_common and select Properties In Property Pages dialog, under Common Properties, go to User Macros In macros list, double-click on macro named as WCELIBCEX_DIR According paths assumed in step 3, change the macro value to:
C:\dev\wcelibcex-1.0\src
Configure wcelibcex_lib.vcproj as a dependency for gdalce_dll.vcproj
Select gdalce_dll project in Solution Explorer Go to Project -> Project Dependencies In the 'Depends on:' pane, select checkbox next to wcelibcex_lib Click OK to apply and close
Ready to build GDAL for Windows CE
Go to Build and select Build Solution
After a few minutes, you should see GDAL DLL ready to use. For example, when Pocket PC 2003 SDK is used and Debug configuration requested, all output files are located under this path:
C:\dev\gdal-1.4.0\wince\msvc80\gdalce_dll\Pocket PC 2003 (ARMV4)\Debug
There, you will find following binaries:
gdalce.dll - dymamic-link library gdalce_i.lib - import library
PROJ.4 support is optional.
In the CVS repository of PROJ.4, there are available project files for Visual C++ 2005 for Windows CE.
It is recommended to read README.txt file from wince\msvc80 directory in PROJ.4 sources tree. There, you will find instructions how to build PROJ.4 without attaching its project to gdalce_dll.sln. Then you can just add proj.dll and proj_i.lib to linker settings of gdalce_dll.vcproj project.
Below, you can find instructions how to add projce_dll.vcproj project directly to gdalce_dll.sln and build everything together.
Go to http://proj.maptools.org and learn how to checkout PROJ.4 source from the CVS
Checkout sources to prefered location, for example:
C:\dev\proj
Add projce_dll.vcproj project to gdalce_dll.sln solution
Go to File -> Add -> Existing Project, navigage and open following file:
C:\dev\proj\wince\msvc80\projce_dll\projce_dll.vcproj
Open Property Manager as described here, open Property Page for gdalce_common, and edit macro named as PROJ_DIR.
Change value of the PROJ_DIR macro to:
C:\dev\proj
Don't close the Property Manager yet.
Configure path to WCELIBCEX source:
Go to View -> Property Manager to open property manager window Expand tree below projce_dll -> Debug -> projce_common Right-click on projce_common and select Properties In Property Pages dialog, under Common Properties, go to User Macros In macros list, double-click on macro named as WCELIBCEX_DIR According paths assumed in step 3, change the macro value to:
C:\dev\wcelibcex-1.0\src
Follow instructions explained here and add projce_dll.vcproj as a dependency for gdalce_dll.vcproj
Update proj_config.h file:
Go to C:\dev\proj\src and rename proj_config.h.wince to proj_config.h.
Ready to build GDAL for Windows CE
Go to Build and select Build Solution
Similarly to explanation above in step 5 for GDAL, binaries for PROJ.4 for Windows CE can be found here:
C:\dev\proj\wince\msvc80\projce_dll\Pocket PC 2003 (ARMV4)\Debug
There, you can find following binaries:
proj.dll - dymamic-link library proj_i.lib - import library
After all, put proj.dll to the same directory on device where you copied gdalce.dll and your application which uses GDAL.
I'd like to encourage everyone interested in using GDAL on Windows CE devices to help in its development. Here is a list of what you can do as a contribution to the project:
You can build GDAL for Windows CE and report problems if you will meet any You can try to build new OGR drivers You can test GDAL/OGR on different Windows CE devices You can write sample applications using GDAL/OGR and announce them on the GDAL mailing list If you have found a bug or something is not working on the Windows CE, please report it on the GDAL's Bugzilla
There is also wince\TODO file where you can find list of things we are going to do.
If you have any comments or questions, please sent them to gdal-dev@lists.maptools.org mailing list.
$Id: wince_port.dox 18465 2010-01-07 20:39:16Z mloskot $