在winodws上使用vs2008编译QGis-1.4.0(初稿,待完善)
QGis是一个开源的地理信息系统,可运行在Linux,Unix,MacOSX,和Windows平台之上。不少开发者基于各种目的或需求,要自己编译GQis。虽然网络上关于如何在windows上编译QGis的文档也不少,但总不够详细和全面。对于新手来说,想要在windows平台上成功编译却非易事。1. 下载并安装Flex, Bison, Expat(expat-win32bin-2.0.1.exe
QGis是一个开源的地理信息系统,可运行在Linux,Unix,MacOSX,和Windows平台之上。不少开发者基于各种目的或需求,要自己编译GQis。虽然网络上关于如何在windows上编译QGis的文档也不少,但总不够详细和全面。对于新手来说,想要在windows平台上成功编译却非易事。
1. 下载并安装Flex, Bison, Expat(expat-win32bin-2.0.1.exe)。下载地址如下,安装路径不要有空格。
http://gnuwin32.sourceforge.net/downlinks/flex.php
http://gnuwin32.sourceforge.net/downlinks/bison.php
http://sourceforge.net/project/showfiles.php?group_id=10127
2. 下载并安装Qt(qt-win-opensource-4.6.2-vs2008.exe)。
http://qt.nokia.com/downloads/windows-cpp-vs2008
安装程序会自动配置好相关参数(随后可以在CMake中看到,相关路径已经设置好)
3. 下载并编译Proj.4
3.1 打开vs2008命令行切换到Proj.4的src目录,运行命令nmake -f makefile.vc。
3.2 通过dos命令提取.dll, .lib, .h文件:
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
copy src/*.lib %PROJ_DIR%/lib
4. 下载并编译GSL
http://david.geldreich.free.fr/downloads/gsl-1.9-windows-sources.zip
直接打开gsl.sln并编译。
5. 下载并编译GEOS
5.1 打开vs2008命令行切换到geos/source目录,运行命令nmake /f makefile.vc。
5.2 通过dos命令提取.dll, .lib, .h文件:
set GEOS_DIR="c:/lib/geos"
mkdir %GEOS_DIR%/include
mkdir %GEOS_DIR%/lib
mkdir %GEOS_DIR%/bin
xcopy /S/Y source/headers/*.h %GEOS_DIR%/include
copy /Y capi/*.h %GEOS_DIR%/include
copy /Y source/*.lib %GEOS_DIR%/lib
copy /Y source/*.dll %GEOS_DIR%/bin
6. 下载并编译GDAL(参考自http://blog.csdn.net/GISSTAR/archive/2009/06/05/4245216.aspx)
http://trac.osgeo.org/gdal/wiki/DownloadSource
6.1 修改GDAL的nmake.opt中如下几处:
!IFNDEF MSVC_VER
#assume msvc 9.0 #或者在使用nmake命令时直接:nmake -f makefile.vc MSVC_VER=1500
MSVC_VER=1500
!ENDIF
-------------------------------------------
!IFNDEF GDAL_HOME
GDAL_HOME = "C:/gdal-1.6.0"
!ENDIF
BINDIR = $(GDAL_HOME)/bin
PLUGINDIR = $(BINDIR)/gdalplugins
PY_INST_DIR = "C:/Python25/Lib/site-packages"
-------------------------------------------
# Set this to the installed directory containing python. If you don't
# have python just let it point to a directory that does not exist (as now).
!IFNDEF PYDIR
PYDIR = "C:/Python25"
!ENDIF
6.2 打开vs2008命令行切换到跟目录,运行命令nmake /f makefile.vc。
7. 安装CMake并生成sln文件
http://www.cmake.org/HTML/Download.html
7.1 启动CMake,并设置好相关参数
7.2 点击configure按钮,并根据提示修改相关参数。
7.3 点击Generate按钮生成sln等文件。请注意相关的警告,并修改相关参数,否则或影响随后的编译。本人就因为给GSL_LIB设置的是目录而非具体文件名,导致警告以及随后的编译失败。
8 打开上面生成的sln文件并编译。如果有个别工程编译失败,可以卸载的这个工程,并不影响整个程序。
9 拷贝相关dll到QGis.exe的同级目录或子目录plugins(XXXplugin.dll, XXXprovider.dll)。
10 运行QGis。大功告成。
本文所述的编译环境为:windows xp, vs2008。如果你使用的是vs express,可能需要vs配置相关环境,不在本文所述内容之内。
BTW:如果你需要调试代码,最好将相关pdb文件拷贝到step 9中对应目录。
参考资料:
1. qgis-1.4.0_coding-compilation_guide_en.pdf
2. http://blog.csdn.net/GISSTAR/archive/2009/06/05/4245216.aspx
更多推荐
所有评论(0)