在MS Visual Studio 2008下编译QGIS1.0.2

 

1.       下载并安装所需的第三方组件

1.1   Flex Bison

Flex Bison是安装GrassQGIS必须的程序。

*注意:这两个工具在安装时,安装目录不要有空格,否则在编译QGIS时找不到这两个文件。

1.2   PostSQL(略)

1.3   QT的安装

可以直接选择默认安装。

1.4   Proj.4

1)从Proj.4官方网站上下载最新的版本,解压缩到某个文件夹。

2)使用Visual Studio 2008 command,定位到Proj.4的加压缩文件下,输入下面的命令进行编译:nmake –f makefile.vc MSVC_VER=1500  (对于MSVC_VER值的设定,可以参考nmake.opt文件里的注释)

3)输入以下命令,将生成Proj.4bin, includelib目录,并将相应的文件放到各个目录下:

set PROJ_DIR=c:/lib/proj

 

mkdir %PROJ_DIR%/bin

mkdir %PROJ_DIR%/include

mkdir %PROJ_DIR%/lib

 

copy src/*.dll %PROJ_DIR%/bin

copy src/*.exe %PROJ_DIR%/bin

copy src/*.h %PROJ_DIR%/include

copysrc/*.lib %PROJ_DIR%/lib

 

1.5   GSL

获得GSL源码,直接编译gsl.sln文件(如果是较早版本,直接用VS2008打开即可)

 

1.6   GEOS

1)获得最新版本的GEOS,(本文使用的是geos-3.1.0),使用Visual Studio 2008 command,定位到Proj.4的加压缩文件下,输入下面的命令进行编译:

nmake –f makefile.vc MSVC_VER=1500 

*注意:对于MSVC_VER值的设定,可以参考nmake.opt文件里的注释

(2) GEOS bin, includelib目录,及其相应文件的生成参考Proj.4的生成方法

 

1.7   GDAL的编译

参考CSDNblog的说明。

 

1.8   PostGIS(略未支持)

 

1.9   Expat

下载expat-win32bin-2.0.1.exe(或更高版本),安装。*注意,安装目录名也不应该包含空格。

1.10  CMake

下载最新版本的CMake-win32.exe,安装。

 

2.       CMake-gui编译QGIS程序。

设置Source CodeQGIS源文件的路径,已经要生成编译文件的路径;然后,设置以上所需的工具的LIBINCLUDE路径,点击Configuration后,点击Generate,生成qgis1.0.2.sln文件,编译该文件,即可获得.lib.dll文件。参考QGIS1.0.2安装版的安装后目录信息,制作我们自己的bin, include, libplugins目录(方法是,拷贝QGIS1.0.2安装版include文件夹生成include目录;拷贝我们生成的qgis_core.dllqgis_gui.dll构建Bin目录可以将sqlite3.dll, gdal16.dll一并拷到Bin目录下;到编译生成的src目录下,选择文件搜索工具,输入”*.dll” 选出生成providersPlugins,拷贝到plugins目录下)。

注意事项:

1)根据情况选择是否允许以下工具一起编译:

       WITH_BINDINGS-------- Python

       WITH_GRASS-------------Grass

       WITH_INTERNAL_SQLITE3-----是否使用QGIS源文件提供的Sqlite3,在此要取消该项的选择,设置自己下载的最新版本的Sqlite3源文件,编译生成.dll.lib 文件。否则编译生成的QGISlib库对Sqlite3的使用会报错(可能是QGIS源文件的Sqlite3有问题)。

       WITH_POSTGRESQL---Postgresql

(2)GDALLIBRARY要使用gdal_i.lib文件,这是一个动态链接库文件(本人也不太懂),

ProjLIBRARY也应该如此。我在编译时使用的是proj.lib文件,目前还没遇到什么错误,等下次重新编译时我尝试以下。

 

3.       QGIS的使用例子

在使用QGIS时,要注意加上

#define CORE_EXPROT

#define GUI_EXPROT

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值