您的位置:首页 > 编程语言

QGis的源代码下载以及windows平台使用脚本自动化编译

2017-02-19 21:00 375 查看
环境介绍
QGis 2.7+ 当前2.8
win7

从GitHub下载代码
代码仓库

官方的安装文档
windows平台安装稍微看下1、2节,主要看4.1就OK

编译流程总述
QGis使用跨平台的工程生成工具cmake来管理所有工程,既然来了解QGsi想必也是多少了解qmake的吧,cmake和qmake类似,但是适用面更广功能更强大。关于cmake,可以参考这里
windows平台可以使用自动化安装脚本来安装,位于:根目录\ms-windows\osgeo4w\package-nightly.cmd

下载准备好工具和库,官方文档是滞后的,有些并不需要
cmake
cmake简介

flex&bison
官方文档是用cygwin分别安装,实际直接下载win版本就OK,下载地址,或者搜win_flex_bison

下载OSGEO4W(一个开源的GIS软件,QGis用它下载依赖的库),用它安装其他依赖库



使用起来和cygwin很类似 

Qt python不用安装,按照上面的列表下载后,在OsgGeo4W里会有
关于这库的作用,请参考

修改下编译脚本
路径
根目录\ms-windows\osgeo4w\package-nightly.cmd

如果直接双击执行,什么效果都没有,窗口一闪而过
因为这个脚本需要在CMD里执行,带上4个参数。如果有没有,怎么直接exit了



我们改成pause,这样至少可以看到哪里错了



build目录已经设置环境变量


可以看到,此脚本需要4个参数,分别为版本号、包号、包名、平台版本
BUILDDER为生成的工程目录
OSGEO4W_ROOT 为安装的OsGeo4W的目录
添加OSGEO4W_ROOT 环境变量为根目录
将%OSGEO4W_ROOT%\bin;添加到path(编译不需要但是程序运行时需要)

将cmake 以及flex&bison的路径临时加到环境变量中。根据自己的目录修改。



如果是x86版本,下面的路径是不对的



配置需要编译的模块



大致是这样,如果有问题,可以参考脚本执行时的log信息修改

执行脚本



执行完毕会生成vs的工程文件,并且整个工程已经编译后了,也就是可以直接运行的,在VS里将启动项目设置为qgis就OK

其他
如果有一些模块由于下载不完全或者其他问题导致错误,可以暂时屏蔽
cmake是递归的,每次在CMakeLists.txt里添加子目录,cmake都会去执行子目录里的CMakeLists.txt



所以例如提示python模块不可用(我自己遇到了),sip.exe调用失败,可以屏蔽python模块
只要修改/src/下的CMakeLists.txt就好



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