GDAL for WinCE版本对于移动地理信息系统开发者无疑是一个福音,目前,只有1.4版本的wince部分是有效的,下面就具体的配置做一个详细说明,大部分还是官网的,只是翻译,自己再去实际配置了一遍,花了一个下午才弄好的。今天就把它分享出来,供大家参考:
目前,GDAL导出为Windows CE平台并不是很容易,编译配置比起桌面版的要稍微复杂一点。
从GDAL1.40版本开始,开始支持winCE,但是据说,后面的版本也不支持windows CE的库,在windows CE上面的库包括如下特性:
l 支持GPL许可协议
l 支持GDAL和OGR的核心API
l GDAL的驱动包括:
AAIGrid
DTED
GeoTIFF
l OGR的驱动包括:
Generic
CSV
MITAB
ESRI Shapefile
l 单元测试套件
l 可以支持PROJ
l 可以支持GEOS
GDAL for Windows CE 已经支持以下的Windows CE版本:
· Windows CE 3.x
o Pocket PC 2002
· Windows CE 4.x
o Windows Mobile 2003
· Windows CE 5.x
o Windows Mobile 5
o customized versions of Windows CE 5.0
支持 Windows CE操作系统的编译系统:
· Microsoft Visual C++ 2005 Standard, Professional or Team Suite Edition
· Microsoft eMbedded Visual C++ 4.0
注意:
现在开始,没有工程文件支持eVC++ 4.0 IDE。
注意:
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).
Please DON'T USE them, unless you want to fix them yourself.
Active content:
· 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
Deprecated:
下面的目录和工程已经被丢弃.不要使用它们!
· 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
1. 需求
o 你需要安装Visual C++ 2005 Standard, Professional or Team Suite Edition
o 你需要安装至少下面下面一种wince平台的SDK:
§ Windows Mobile 2003 Pocket PC SDK
§ Windows Mobile 2003 SmartphoneSDK
§ Windows Mobile 5.0 Pocket PC SDK
§ Windows Mobile 5.0 Smartphone SDK
o 最后的需求是要安装Run-time Type Information library for the Pocket PC 2003 SDK.
2. 外部的依赖
编译GDAL for Windows CE只需要一个外部的库。这个外部的库是WCELIBCEX,它是windows CE下面的扩展库,是C语言的一个扩展库,你可以从http://wcelibcex.sourceforge.net/下载。不过你也可以从SVN直接下载,不管是从那种方式下载,你都会得到一个Visual C++ 2005的工程文件。
注意:
WCELIBCEX 被编译成一个静态库。
3. 下载GDAL1.40的源代码。
下载地址:
http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries
我假设你的目录如下,具体参考你自己的目录情况。
C:\dev\gdal-1.4.0
C:\dev\wcelibcex-1.0
4. 工程配置
1. 用Visual C++ 2005 IDE打开 gdalce_dll.sln
根据步骤3的描述,应该是在下列目录。
C:\dev\gdal-1.4.0\wince\msvc80\gdalce_dll\gdalce_dll.sln
2. 把WCELIBCEX工程添加到gdalce_dll.sln解决方案。
在File -> Add -> Existing Project,定位和打开下列文件
C:\dev\wcelibcex-1.0\msvc80\wcelibcex_lib.vcproj
3. 配置WCELIBCEX源代码的路径:
§ 在View -> Property Manager打开 property manager窗口
§ 在Expand树下定位到 gdalce_dll -> Debug -> gdalce_common
§ 右击 gdalce_common选择属性
§ 在属性页对话框找到 User Macros
§ 在 macros列表,双击名字为 WCELIBCEX_DIR的宏
§ 改变宏的目录,路径如下:
C:\dev\wcelibcex-1.0\src
§ 单击OK并关闭对话框。
4. 配置wcelibcex_lib.vcproj作为gdalce_dll.vcproj的依赖库。
§ 在Solution Explorer下选择gdalce_dll工程
§ 定位到Project -> Project Dependencies
§ 在 'Depends on:'面板,选择复选框指向 wcelibcex_lib
§ 单击OK并关闭
开始编译GDAL for Windows CE
编译整个解决方案,两个工程都编译了。
过几分钟后,就可以使用GDAL for windows CE了。编译生成的目录如下:
C:\dev\gdal-1.4.0\wince\msvc80\gdalce_dll\Pocket PC 2003 (ARMV4)\Debug
在这个目录下,你将会发现下面两个二进制文件。
o gdalce.dll –动态链接库
o gdalce_i.lib –导入库
构建Wince的开发包
对照VS2005打开的工程,看看它有哪些头文件,再到源文件中找到这些头文件,拷贝出来,新建一个include目录,并把这些头文件放在这里面。
新建一个bin目录,把gdalce.dll放在里面。
新建一个lib目录,把gdalce_i.lib放在里面。
还有,还需要把WCELIBCEX工程的头文件拷出来放在一个include目录中,编译生成的wcelibcex.lib或wcelibcexd.lib文件放在一个lib目录中,这样我们就可以在wince系统下面使用GDAL了。
下面是具体的数据显示的例子,证明结果此安装过程是可行的。
欢迎互相交流。