forked from mathstuf/gdal-svn
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwince_port.dox
340 lines (239 loc) · 11.1 KB
/
wince_port.dox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
#ifndef DOXYGEN_SKIP
/* $Id$ */
#endif /* DOXYGEN_SKIP */
/*!
\page wince GDAL for Windows CE
\ref wince_overview<br/>
\ref wince_features<br/>
\ref wince_platforms<br/>
\ref wince_directory<br/>
\ref wince_building<br/>
\ref wince_building_proj4<br/>
\ref wince_building_geos<br/>
\ref wince_help<br/>
\warning *** Currently, GDAL port for Windows CE platform is not actively maintained. If you are interested in providing patches or taking over this project, please write to <a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev/">[email protected]</a> mailing list. ***
\section wince_overview Overview
This document is devoted to give some overview of the GDAL port for <a href="http://en.wikipedia.org/wiki/Windows_CE">Windows CE</a> operating system.
\section wince_features Features
Currently, from version <a href="http://www.gdal.org/dl/gdal140.zip">1.4.0</a>, GDAL includes following features for Windows CE platform:
<ul>
<li>CPL library</li>
<li>GDAL and OGR core API</li>
<li>GDAL drivers:
<ul>
<li><a href="http://www.gdal.org/frmt_various.html#AAIGrid">AAIGrid</a></li>
<li><a href="http://www.gdal.org/frmt_dted.html">DTED</a></li>
<li><a href="http://www.gdal.org/frmt_gtiff.html">GeoTIFF</a></li>
</ul>
</li>
<li>OGR drivers:
<ul>
<li>Generic</li>
<li><a href="http://www.gdal.org/ogr/drv_csv.html">CSV</a></li>
<li><a href="http://www.gdal.org/ogr/drv_mitab.html">MITAB</a></li>
<li><a href="http://www.gdal.org/ogr/drv_shapefile.html">ESRI Shapefile</a></li>
</ul>
</li>
<li>Unit Test suite (gdalautotest/cpp)</li>
<li>Optional <a href="http://proj.maptools.org/">PROJ.4</a> support</li>
<li>Optional <a href="http://geos.refractions.net/">GEOS</a> support</li>
</ul>
\section wince_platforms Supported Platforms
GDAL for Windows CE has been tested on following versions of Windows CE:
<ul>
<li>Windows CE 3.x
<ul><li>Pocket PC 2002</li></ul>
</li>
<li>Windows CE 4.x
<ul><li>Windows Mobile 2003</li></ul>
</li>
<li>Windows CE 5.x
<ul>
<li>Windows Mobile 5
<li>customized versions of Windows CE 5.0
</ul>
</li>
</ul>
Supported compilers for Windows CE operating system:
<ul>
<li>Microsoft Visual C++ 2005 Standard, Professional or Team Suite Edition</li>
<li>Microsoft eMbedded Visual C++ 4.0
\note Currently, no project files provided for eVC++ 4.0 IDE
</li>
</ul>
\section wince_directory Content of 'wince' directory
\note Due to problems with removing directories from CVS and missed synchronization of RC branch,
the 'wince' directory includes a few deprecated project files (see below).<br />
Please <strong>DON'T USE</strong> them, unless you want to fix them yourself.
Active content:
<ul>
<li><strong>msvc80</strong> - project for Visual C++ 2005 to build GDAL DLL for Windows CE</li>
<li>README - the file you're currently reading</li>
<li>TODO - planned and requested features</li>
</ul>
\deprecated Following directories and projects are deprecated. <strong>DON'T USE THEM!</strong>
<ul>
<li>evc4_gdalce_dll</li>
<li>evc4_gdalce_dll_test</li>
<li>evc4_gdalce_lib</li>
<li>evc4_gdalce_lib_test</li>
<li>msvc8_gdalce_lib</li>
<li>msvc8_gdalce_lib_test</li>
<li>wce_test_dll</li>
<li>wce_test_lib</li>
<li>wcelibcex</li>
</ul>
\section wince_building Building GDAL for Windows CE using Microsoft Visual C++ 2005
<ol>
<li>Requirements
<ul>
<li>You need to have installed Visual C++ 2005 Standard, Professional or
Team Suite Edition.</li>
<li>You also need to have installed at least one SDK for Windows CE platform:
<ul>
<li>Windows Mobile 2003 Pocket PC SDK</li>
<li>Windows Mobile 2003 SmartphoneSDK</li>
<li>Windows Mobile 5.0 Pocket PC SDK</li>
<li>Windows Mobile 5.0 Smartphone SDK</li>
</ul>
</li>
<li>Last requirement is the <a href="http://support.microsoft.com/default.aspx?scid=kb;[LN];830482">Run-time Type Information library for the Pocket PC 2003 SDK</a>.</li>
</ul>
</li>
<li>External dependencies
There is only one external dependency required to build GDAL for Windows CE.
This dependency is <a href="http://wcelibcex.sourceforge.net">WCELIBCEX</a> library available to download from:
http://sourceforge.net/projects/wcelibcex
You can download latest release - <a href="http://sourceforge.net/project/showfiles.php?group_id=160411&package_id=180452&release_id=476819">wcelibcex-1.0</a> - or checkout sources directly form SVN. In both cases, you will be provided with project file for Visual C++ 2005.
\note WCELIBCEX is built to Static Library. For details, check README.txt file form the package.
</li>
<li>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:
\verbatim
C:\dev\gdal-1.4.0
C:\dev\wcelibcex-1.0
\endverbatim
</li>
<li>Projects configuration
<ol>
<li>Open gdalce_dll.sln project in Visual C++ 2005 IDE
According to the paths presented in step 3, you should load following file:
\verbatim C:\dev\gdal-1.4.0\wince\msvc80\gdalce_dll\gdalce_dll.sln \endverbatim
</li>
<li>Add WCELIBCEX project to gdalce_dll.sln solution
Go to File -> Add -> Existing Project, navigage and open following file:
\verbatim C:\dev\wcelibcex-1.0\msvc80\wcelibcex_lib.vcproj \endverbatim
</li>
<a name="gdalce_wcelibcex_configure"></a>
<li>Configure path to WCELIBCEX source:
<ul>
<li>Go to View -> Property Manager to open property manager window</li>
<li>Expand tree below gdalce_dll -> Debug -> gdalce_common</li>
<li>Right-click on gdalce_common and select Properties</li>
<li>In Property Pages dialog, under Common Properties, go to User Macros</li>
<li>In macros list, double-click on macro named as WCELIBCEX_DIR</li>
<li>According paths assumed in step 3, change the macro value to: \verbatim C:\dev\wcelibcex-1.0\src \endverbatim </li>
<li>Click OK to apply changes and close the dialog</li>
</ul>
</li>
<a name="gdalce_wcelibcex_dependency"></a>
<li>Configure <em>wcelibcex_lib.vcproj</em> as a dependency for <em>gdalce_dll.vcproj</em>
<ul>
<li>Select gdalce_dll project in Solution Explorer</li>
<li>Go to Project -> Project Dependencies</li>
<li>In the 'Depends on:' pane, select checkbox next to wcelibcex_lib</li>
<li>Click OK to apply and close</li>
</ul>
</li>
</ol>
</li>
<li>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:
\verbatim
C:\dev\gdal-1.4.0\wince\msvc80\gdalce_dll\Pocket PC 2003 (ARMV4)\Debug
\endverbatim
There, you will find following binaries:
<ul>
<li><strong>gdalce.dll</strong> - dymamic-link library</li>
<li><strong>gdalce_i.lib</strong> - import library</li>
</ul>
</li>
</ol>
\subsection wince_building_proj4 Enable PROJ.4 support
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 <em>README.txt</em> file from <em>wince\\msvc80</em> 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.
<ol>
<li>Go to http://proj.maptools.org and learn how to checkout PROJ.4 source from the CVS</li>
<li>Checkout sources to prefered location, for example:
\verbatim C:\dev\proj \endverbatim
</li>
<li>Add projce_dll.vcproj project to gdalce_dll.sln solution
Go to File -> Add -> Existing Project, navigage and open following file:
\verbatim C:\dev\proj\wince\msvc80\projce_dll\projce_dll.vcproj \endverbatim
</li>
<li>Open Property Manager as described <a href="#gdalce_wcelibcex_configure">here</a>, open Property Page for gdalce_common,
and edit macro named as PROJ_DIR.
Change value of the PROJ_DIR macro to:
\verbatim C:\dev\proj \endverbatim
Don't close the Property Manager yet.
</li>
<li>Configure path to WCELIBCEX source:
<ul>
<li>Go to View -> Property Manager to open property manager window</li>
<li>Expand tree below projce_dll -> Debug -> projce_common</li>
<li>Right-click on projce_common and select Properties</li>
<li>In Property Pages dialog, under Common Properties, go to User Macros</li>
<li>In macros list, double-click on macro named as WCELIBCEX_DIR</li>
<li>According paths assumed in step 3, change the macro value to: \verbatim C:\dev\wcelibcex-1.0\src \endverbatim </li>
<li>Click OK to apply changes and close the dialog</li>
</ul>
</li>
<li>Follow instructions explained <a href="#gdalce_wcelibcex_dependency">here</a> and add projce_dll.vcproj as a dependency for gdalce_dll.vcproj</li>
<li>Update proj_config.h file:
Go to <em>C:\\dev\\proj\\src</em> and rename <em>proj_config.h.wince</em> to <em>proj_config.h</em>.
</li>
<li>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:
\verbatim
C:\dev\proj\wince\msvc80\projce_dll\Pocket PC 2003 (ARMV4)\Debug
\endverbatim
There, you can find following binaries:
<ul>
<li><strong>proj.dll</strong> - dymamic-link library</li>
<li><strong>proj_i.lib</strong> - import library</li>
</ul>
\note PROJ.4 binaries for Windows CE do not include 'ce' in names.
This is due the fact GDAL uses fixed proj.dll name to find and link dynamically with PROJ.4 DLL.
</li>
<li>After all, put proj.dll to the same directory on device where you copied gdalce.dll and your application which uses GDAL.</li>
</ol>
\section wince_help How can I help?
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:
<ul>
<li>You can build GDAL for Windows CE and report problems if you will meet any</li>
<li>You can try to build new OGR drivers</li>
<li>You can test GDAL/OGR on different Windows CE devices</li>
<li>You can write sample applications using GDAL/OGR and announce them on the <a href="http://lists.maptools.org/mailman/listinfo/gdal-dev/">GDAL mailing list</a></li>
<li>If you have found a bug or something is not working on the Windows CE, please report it on the <a href="http://bugzilla.remotesensing.org">GDAL's Bugzilla</a>
</ul>
<p>There is also <em>wince\\TODO</em> file where you can find list of things we are going to do.</p>
<p>If you have any comments or questions, please sent them to <a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev/">[email protected]</a> mailing list.</p>
\htmlonly
<p>
$Id$
</p>
\endhtmlonly
*/