您的位置:首页 > 其它

qgis二次开发之编译

2015-01-28 21:38 477 查看
1qgis的源码实在太难看了,先写篇轻松的。qgis的编译。qgis的编译比较麻烦,中途会遇到很多问题。

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

10.完毕2015.1.31日

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: