- 浏览: 15213 次
最新评论
winodws上使用vs2008编译QGis-1.6.0
- 博客分类:
- 技术杂绘
winodws上使用vs2008编译QGis-1.6.0
2011年03月02日
QGIS不断推陈出新,1.6早已是过去式,目前正在开发1.7. 在1.6的版本中有一个亮点(没有仔细调研,是1.5中还是1.6中添加的),就是对wfs-t的支持。如果你恰好通过QGIS访问了GeoServer的wfs,那么你可以试试修改(添加、删除、锁定等等)GeoServer发布的矢量图层。我也是出于了解QGIS如何通过wfs-t修改wfs的矢量图层的考虑,下载了1.6版本的QGIS,忙活了半天,老天有眼让我折腾出来了。总的来说,与1.4相比,按照官方的编译说明文档编译过程更加简单了,但终究还有一些地方没有覆盖到,要让人摸索很久。
参考资料
官方编译指南:http://www.qgis.org/wiki/Building_QGIS_from_Source
软硬件环境
1. 联想台式机
2. winxp
3. vs2008专业版
编译步骤
1.安装相关软件
官方指南中提到的软件基本上都(svn无所谓的)需要安装,具体如下:
Microsoft Windows Server?? 2003 R2 Platform SDK:http://download.microsoft.com/download/f/a/d/fad9e fde-8627-4e7a-8812-c351ba099151/PSDK-x86.exe
CMake :http://www.cmake.org/files/v2.8/cmake-2.8.2-win32- x86.exe
Flex:http://gnuwin32.sourceforge.net/downlinks/flex.php
Bison:http://gnuwin32.sourceforge.net/downlinks/bison.ph p
OSGeo4W:http://download.osgeo.org/osgeo4w/osgeo4w-setup.ex e
1.1) OSGeo4W的安装, 请选择安装下列的lib
expat
fcgi
gdal17
grass
gsl-devel
iconv
pyqt4
qt4-devel
qwt5-devel-qt4
sip
1.2) 拷贝..\GnuWin32\include\unistd.h到vs2008安装目录下..\VC\include
2. 设置VS参数
新建bat文件,并添加如下命令 @echo off
path %SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\Sy stem32\Wbem;%PROGRAMFILES%\CMake 2.8\bin;%PROGRAMFILES%\subversion\bin;%PROGRAMFILE S%\GnuWin32\bin
set PYTHONPATH=
set VS90COMNTOOLS=%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\Tools\
call "%PROGRAMFILES%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
set INCLUDE=%INCLUDE%;%PROGRAMFILES%\Microsoft Platform SDK for Windows Server 2003 R2\include
set LIB=%LIB%;%PROGRAMFILES%\Microsoft Platform SDK for Windows Server 2003 R2\lib
set OSGEO4W_ROOT=C:\OSGeo4W
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
@set GRASS_PREFIX=c:/OSGeo4W/apps/grass/grass-6.4.0
@set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\apps\gdal-17\incl ude;%OSGEO4W_ROOT%\include
@set LIB=%LIB%;%OSGEO4W_ROOT%\apps\gdal-17\lib;%OSGEO4W _ROOT%\lib
@cmd 3. 下载QGIS源代码 或者通过svn,地址如下(参考自http://www.qgis.org/wiki/Download#Source_Code)
https://svn.osgeo.org/qgis/branches/Release-1_6_0
4.CMake生成vs工程文件
这一步很关键,设置不对后面会出很多问题
我的设置如下
或者你可以查看cmake的缓存文件
http://blog.csdn.net/ryanzll/archive/2011/03/02/62 17209.aspx
需要注意的是
1.XXX_LIBRARY或者XXX_LIB:要求的是一个具体的lib文件,而非文件夹。
2.XXX_LIBRARY_DIR:这里才是要求的一个lib文件夹。
3.SETUPAPI_LIBRARY:指的是Microsoft Windows Server?? 2003 R2 Platform SDK中的setupapi.lib, 即C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Lib/SetupAPI.Lib
4.这里为了configure通过,我只勾选了WITH_INTERNAL_SPATIALITE(最快,最简单)。如果要编译其他的,不在本文叙述范围之内,请自行研究。:(
跟着,就点按钮configure,如果configuring done并且没有错误和警告,就点按钮Generate生成vs2008工程文件。
5.用vs2008打开工程文件并编译。
打开QGIS1.6.0.sln,修改编译设置为RelWithDebInfo,这是因为
1.安装的OSGeo4W都是release版的;
2. 而为了调试qgis,又需要debug信息。
选择ALL_BUILD,右键生成即可。这当中有两个地方要注意
1. 对于qgis_core工程,需要手动生成qgssearchstringparser.cpp,方法如下
C:\GnuWin32\bin\bison.exe -oD:/QGIS1.6/Build/src/core/qgssearchstringparser. cpp -d -v -t D:/QGIS1.6/src/core/qgssearchstringparser.yy
2. 对于qgis_analysis工程,需要手动生成qgsrastercalcparser.cpp,方法如下
C:\GnuWin32\bin\bison.exe -p raster -oD:/QGIS1.6/Build/src/analysis/qgsrastercalcparse r.cpp -d -v -t D:/QGIS1.6/src/analysis/raster/qgsrastercalcparser .yy
注意哦,上面两个命令,有一点点差别,就是第二个命令多了"-p raster"这样的参数,如果不添加这样的参数,也会导致后面的编译错误哦(经验之谈啊,汗。。。。。。)。
6.到这里,编译工作该成功了。下面就是拷贝相应dll,pdb等等到qgis.exe的同级目录了。为啥?你懂的。
最后,编译好的qgis1.6的压缩包链接如下:
http://dl.dbank.com/c03a0bffu8
发表评论
-
公共语言运行库中的程序集-03全局程序集缓存
2012-01-20 02:00 729公共语言运行库中的程序集-03全局程序集缓存 2011年06 ... -
Batch Usage
2012-01-20 02:00 738Batch Usage 2010年07月13日 ... -
零基础学通Silverlight4(8):WCF RIA Service
2012-01-20 02:00 718零基础学通Silverlight4(8): ... -
在模拟器上安装Android market的方法
2012-01-20 02:00 729在模拟器上安装Android market的方法 2011年 ... -
布同:如何循序渐进学习Python语言
2012-01-19 09:48 734布同:如何循序渐进学习Python语言 2011年02月24 ... -
windows环境下python web开发环境安装配置
2012-01-19 09:47 895windows环境下python web开 ... -
【转载】Python连接MySQL数据库
2012-01-19 09:47 866【转载】Python连接MySQL数据库 2011年08月0 ... -
python 常用类库!(转)
2012-01-19 09:47 997python 常用类库!(转) 2011年01月21日 ... -
python py2exe 创建exe可执行文件
2012-01-19 09:47 1175python py2exe 创建exe可执行文件 2011年 ... -
OpenGL编程设置
2012-01-17 02:21 1101OpenGL编程设置 11小时前 一.环境配置 由 ... -
Three dying platforms: Flash, Silverlight, Win32
2012-01-17 02:21 586Three dying platforms: Flash, S ... -
CAsyncSocket::SetSockOpt全解
2012-01-17 02:21 1396CAsyncSocket::SetSockOpt全解 201 ... -
Android apk 签名
2012-01-17 02:21 703Android apk 签名 2011年12 ... -
用PHP代码调用sockets,直接用服务器的网络攻击别的IP
2012-01-15 21:59 550用PHP代码调用sockets,直接用服务器的网络攻击别的IP ... -
1201-p
2012-01-15 21:59 7101201-p 2011年11月30日 内存 威 ... -
发烧高端版v2.0版本
2012-01-15 21:59 618发烧高端版v2.0版本 6小时前 CPU AMD FX- ... -
pcb layout 4
2012-01-15 21:59 587pcb layout 4 2011年12月30日 1.一 ...
相关推荐
vs2008编译qgis1.7.0,以及经常出现的错误的解决方法
QGIS-OSGeo4W-3.16.3-1-Setup-x86_64.exe
QGIScode QGIS-Code-Examples QGIS-Compilation-Guide QGIS-Document QGIS-Plugin-Repo QGIS-Promotion
QGIS-OSGeo4W-3.16.0-1-Setup-x86_64 QGIS3.16.0-1 64位安装包, 电信下载太慢了
QGIS-OSGeo4W-3.16.1-1-Setup-x86_64.exe QGIS3.16.1-1 64位安装包, 电信下载太慢了
QGIS-3.16中文帮助文档
QGIS-OSGeo4W-3.10.0-2-Setup-x86_64 安装包 网盘直接下载 链接:
QGIS-OSGeo4W-3.10.1-1-Setup-x86_64.exe
qgis sdk通过编译好的lib和include直接配置环境进行开发,避免自行编译QGIS带来的复杂工作量
python库。 资源全名:qgis-plugin-ci-2.1.1.tar.gz
QGIS-OSGeo4W-3.10.8-1-Setup-x86_64.exe,QGIS的32和64位都可用的客户端
32位的QGIS开发包,内含qgis_gui.lib、qgis_core.lib等库以及相关头文件
qgis-3.10.5源码包,长期稳定版,源码学习,源码编译,二次开发,qgis环境配置。qgis-3.10.5源码包。
QGIS 及 QGISSERVER FOR LINUX (CentOS Linux 7.8.2003),能够在 LINUX 下启动 PYQGIS 环境、发布标准 OGC 服务。可用于 GIS 数据 PYTHON 处理及地图服务发布. 详细说明见:...
QGIS-3.28-桌面端用户手册.pdf QGIS-3.28-新手引导指南.pdf QGIS-3.28-Server用户手册.pdf QGIS-3.28-二次开发手册.pdf QGIS-3.28-新手引导手册.pdf
QGIS-3.28-桌面端用户手册.pdf QGIS-3.28-新手引导指南.pdf QGIS-3.28-Server用户手册.pdf QGIS-3.28-二次开发手册.pdf QGIS-3.28-新手引导手册.pdf
QGIS-3.28-桌面端用户手册.pdf QGIS-3.28-新手引导指南.pdf QGIS-3.28-Server用户手册.pdf QGIS-3.28-二次开发手册.pdf QGIS-3.28-新手引导手册.pdf
1、使用CMAKE生成的qgis-3.12.3解决方案压缩包。 2、对应qgis-3.12.3.tar.bz2源代码,下载地址:https://qgis.org/downloads/。 3、总共52个工程,工程数量应该与 WITH 节点勾选有关。 4、QGIS环境搭建参考:...
QGIS OSGeo4W v3.12.1 windows x86_64 国内下载地址,用于官网下载无速度时使用。 QGIS(原称Quantum GIS)是一个自由软件的桌面GIS软件。它提供数据的显示、编辑和分析功能。 QGIS是一个用户界面友好的桌面地理...
QGIS-OSGeo4W-3.8.0-1-Setup-x86_64.exe