qgis二次开发之编译

: 1.首先访问:http://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html起码先通读一遍,以免犯低级错误。 2.qgis是基于qt的,插件是基于Py....

1.首先访问:http://htmlpreview.github.io/?https://raw.github.com/qgis/QGIS/master/doc/INSTALL.html起码先通读一遍,以免犯低级错误。

2.qgis是基于qt的,插件是基于Python的,所以首先安装好这两个环境。

(1)安装qt,安装vs的qt插件。

(2)安装Python

3.下载qgis的tool: cmake/flex/bison/git/全部按照官方推荐的下载,不能自己从网上找。并且安装的时候不能有中文目录、不能有空格。

4.下载osgeo4w,这个程序是提供给qgis的安装环境的,所以不必完全安装,也不可以完全安装。如果选择全部安装会由于安装了minggw的环境而造成在编译的时候出现头文件冲突的错误。osgeo安装的时候网速很慢,需要耐心。

安装过程截图如下:

点击上面的下一步会出现选择安装什么的对话框,需要按照上面提到的网址的介绍进行选择:选择:expat

fcgi

gdal

grass

gsl-devel

iconv

pyqt4

qt4-devel

qwt5-devel-qt4

sip

spatialite

libspatialindex-devel

python-qscintilla

为了方便可以首先选择对话上的view按钮,然后在文本框中输入想要的东西,点击就可以了。一定要记住,不能多选也不能少选!

选择完毕后的对话框如下图所示:

然后出现版权信息,点击同意即可。然后就是漫长的下载过程。如果出现长时间不动的情况,请重复上面的步骤,因为网断了,不过不要担心,因为已经下载的东西不会重复下载的。

等待下载

5.安装各种编译型软件

(1)安装qt

(2)安装vs的qt插件

(3)安装Python27

(4)安装PyQt4-4.11.1-gpl-Py2.7-Qt4.8.6-x32

(5)安装txt2tags.py //这是文本文件,下载下来,放到某个位置就可以了

(6)安装NSIS

6.使用cmake导出vs2010工程

首先选择qgis源代码和将来的vs2010工程所在的目录

出了很多的错误。这里需要填写很多路径,首先运行osg4w的bin目录下的o4w_env.bat文件,为的是安装好环境变量。由于我的sip总是无法安装,所以我把with-binding选项去掉了。路径自己选就可以了,其中一个很特别就是SETUPAPI这个路径,我自己选的是C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Lib/SetupAPI.Lib。

然后点击config就可以了,然后点击generate就可以了产生出了vs2010的工程。

7.使用vs2010 编译qgis。

下面具体记录一下我在编译中遇到的问题:

1.出现m4: cannot open `Files': No such file or directory之类的错误是由于bison安装到了带有空格的目录下了,重新安装到无中文、空格的目录就可以了。

2.无法打开包括文件:“unistd.h”: No such file or directory

由于是在win系统下编译,出现这种问题很正常。把unistd.h复制到osg4w的include目录下,问题解决。

3.m4无法找到,把m4(bison)所在的目录添加到path变量中。

4.如果出现lib无法找到、.h文件无法找到,那么肯定是在cmake的时候路径填写错了,重新cmake就可以了。

(1)setup之类的符号无法解析,setupapi的lib文件选择错误,在自己的vs安装路径的盘中搜一下setupapi.lib按个试一下。我的lib的路径是:C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Lib/SetupAPI.Lib。

8.编译完成后提取qgis的.h,.lib,.dll文件

运行vs工程下的INSTALL工程,会提取文件到cmake阶段规定的CMAKE_INSTALL_PREFIX目录下的。运行install后的目录结构如下图所示:

首先把这个文件夹复制到其他地方,然后切换到release模式下接着编译release模式的dll文件。运行到这一步,你可以放心了,基本上没有啥问题了。 编译完release后qgis的编译工作就完成了。这部分工作比较繁琐,需要频繁的使用cmake重新生成vs2010工程然后重新编译,需要有耐心。

8.验证qgis是否编译正确。

把osge4w的bin目录整个的复制到一个新的没有中文目录和空格的文件夹下,然后把qgis的release模式的bin目录所有的文件复制到到这个文件夹下,然后把plugin目录复制到这个文件夹下。目录的其中一部分如下两图所示:

点击qgis.exe 就会出现qgis的运行界面了。

至此qgis的编译工作全部做完,并且成功的运行了。

9.我的编译用的工具包下载

(1)编译过程中需要用到的工具型文件 http://pan.baidu.com/s/1pJwohgn

(2)qgis源代码 http://pan.baidu.com/s/1dDlJjUh

(3)osgeo4w本地安装文件 http://pan.baidu.com/s/1hqpaV7Q

(4)qgis编译好的文件 http://pan.baidu.com/s/1c06eaMO

### 回答1: QGIS是一款开源的地理信息系统软件,它提供了丰富的功能和工具,可以用于对空间数据进行分析、处理和可视化。而Qt是一种跨平台的GUI开发框架,可以用于快速创建用户界面。 在QGIS二次开发中,Qt被广泛应用于开发插件、工具和定制化界面等方面。Qt提供了一系列的库和工具,可以帮助开发者轻松地实现各种功能。 首先,如果想要进行QGIS二次开发,需要安装Qt开发环境。Qt提供了免费的开源版本和商业版本,可以根据自己的需要选择合适的版本。安装完成后,可以使用Qt Creator创建新的项目或打开现有的项目。 在Qt Creator中,可以使用C++语言来编写代码,实现对QGIS二次开发。可以通过使用QGIS的API接口来访问和操作QGIS的功能和数据。QGIS提供了一系列的类和方法,可以用于加载和显示地图、进行空间数据查询和分析等任务。 除了使用C++语言,还可以使用Python来进行QGIS二次开发。在Python中,可以使用PyQt模块来完成与Qt的交互操作。PyQt是Qt的Python绑定库,通过它可以使用Python语言来编写与Qt相关的代码。 在进行QGIS二次开发时,还可以使用Qt Designer来创建用户界面。Qt Designer是Qt提供的可视化界面设计工具,可以快速地创建和编辑用户界面。创建好的界面文件可以与项目代码进行集成,实现丰富的用户界面交互。 总结来说,QGIS二次开发教程涉及到了Qt开发环境的安装、项目的创建与打开、代码的编写与调试、API的使用等内容。通过学习和实践,可以掌握QGIS和Qt的二次开发技能,实现各种个性化的功能和定制化的界面。 ### 回答2: QGIS是一个开源的地理信息系统软件,可以用于地图制作、数据分析和空间数据可视化等任务。而Qt是一个跨平台的应用程序开发框架,提供了丰富的图形界面和工具库,使开发人员可以轻松地开发软件应用。 QGIS二次开发主要是指在现有的QGIS基础上进行功能扩展或定制化开发,而Qt则是作为QGIS二次开发的基础框架。Qt提供了丰富的类库和工具,使得开发人员可以使用C++进行开发,并轻松地创建用户友好的图形界面。 要进行QGIS二次开发,首先需要安装Qt开发环境,并将QGIS源代码下载到本地。然后,可以通过Qt Creator这个集成开发环境来创建和管理项目。在项目中,可以使用Qt的类库和工具来编写代码,并集成到QGIS的框架中。 对于QGIS二次开发,我想分享以下步骤: 1. 安装Qt开发环境和QGIS源代码。 2. 打开Qt Creator,创建一个新的Qt项目。 3. 配置项目的构建选项,将QGIS的源代码引入到项目中。 4. 在项目中添加需要的类库和头文件,并根据需求编写相关功能代码。 5. 配置项目的部署设置,确保生成的可执行文件可以正常运行并与QGIS进行交互。 6. 编译和构建项目,生成目标可执行文件。 7. 运行和测试项目,确保功能正常且与QGIS协同工作。 在二次开发中,可以利用QGIS提供的插件开发接口和插件示例,参考官方文档和社区资源,了解QGIS的核心架构和API接口。这将帮助我们更好地进行定制化开发和功能扩展。 总之,QGIS二次开发教程需要通过Qt来实现,通过学习和实践,我们可以利用Qt的强大功能和QGIS的丰富插件来扩展和定制化QGIS的功能,满足不同的地理信息系统需求。 ### 回答3: QGIS是一款开源的地理信息系统(GIS)软件,它提供了强大的地理空间数据处理和分析功能。QGIS支持二次开发,这意味着用户可以使用QGIS的API进行自定义插件、工具和应用程序的开发。 Qt是一种跨平台的应用程序开发框架,它提供了丰富的GUI和其他功能,使开发人员能够轻松地构建功能强大、易于使用的应用程序。QGIS使用Qt作为其主要的开发框架,这也意味着如果想要进行QGIS二次开发,需要了解Qt的基本概念和使用方法。 QGIS二次开发教程Qt可以帮助开发人员学习如何使用Qt框架来扩展和定制QGIS的功能。下面是一些学习QGIS二次开发教程Qt的步骤: 1. 学习Qt基础知识:了解Qt的基本概念、类和功能。可以阅读Qt官方文档或参考相关书籍和教程。 2. 学习QGIS的API:了解QGIS的API及其提供的类和函数。可以阅读QGIS官方文档或参考相关教程和示例代码。 3. 编写第一个插件:根据QGIS的插件开发指南,创建一个简单的插件。可以使用Qt的UI设计工具来创建插件的用户界面。 4. 扩展和定制功能:了解如何使用Qt和QGIS的API来扩展和定制QGIS的功能。可以根据实际需求,开发自定义工具、算法或数据处理功能。 5. 调试和测试:使用Qt的调试工具和QGIS的测试工具对开发的插件进行调试和测试,确保其功能正常。 通过学习QGIS二次开发教程Qt,开发人员可以了解如何利用Qt和QGIS的API进行高级地理空间数据分析、可视化和处理,创建定制化的GIS应用程序。同时,通过QGIS的插件系统,可以与QGIS社区分享和发布开发的插件,为其他用户提供更多的功能和工具选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值