有关QGIS编译,cmake中设置问题

首先是安装编译所需的第三方库,与李民录的博客里面讲述的大致相同,但是有用OSGeo4W进行安装可以一次将大部分需要的库都安装上,方法是:首先下载OSGeo4W,在进行安装的时候要注意,最好不要安装在带中文或者空格的路径下,例如"C:开发库..."或者“C:Program files....”都不可以(后者其实也可以,但是后面在设置路径的时候有点麻烦,如果你非要那样做,解决办法在QGis官方安装文档中有说明,我将其中Windows的部分粘贴出来放在另一篇博文中,点击这里查看)。安装时,选择Advanced Install,下一步选择DownloadInstall(选项的具体名字我忘记了,但是意思是一样的),这时,出现了一个对话框,你可以在其中输入你需要安装的库的名字,然后,在下面点击进行下载安装,注意:OSGeo4W是不会列出你最后选择了安装哪些库的,所以这里一定要细心!需要安装的库有:

- Proj >=4.4.x

- GEOS >= 3.0

- Sqlite3 >=3.0.0

- GDAL/OGR >=1.4.x

- Qwt >= 5.0& (< 6.1 with internal QwtPolar)

- expat

- fcgi

- gdal

- grass

- gsl-devel

- iconv

- pyqt4

- qt4-devel

- qwt5-devel-qt4

- sip

- spatialite

- libspatialindex-devel

- python-qscintilla

安装好这些库之后,进行编译所需的工具的安装,具体工具有:

CMake

Flex

Bison

SVN

GIT

Qt(这个注意下载大于等于4.7以上的版本)

其中SVN和GIT是为了获取QGis源代码的,你如果选择自己在官网下载,也可以不装这两个工具。安装这些工具的时候,同样注意前文所述的路径问题,不要安装在带中文或者空格的路径中。Flex和Bison推荐把安装目录的bin文件夹路径加入系统环境变量Path中,后面会少一些麻烦。当然Visual Studio2008是不可缺少的(也可以使用VS2010试试,并告诉我结果,谢谢!)。

OK,现在基本就是完成工具的安装了,现在开始编译吧。下面的过程跟官方给的有点区别,点击这里查看官方文档。

第一步打开Cmake-gui.exe, 出现如下界面(第一次打开时中间栏是空白的):

点击Browse Source和Browse Build,分别加入源代码路径和生成工程的输出路径。然后点击Configure,配置编译环境,选择VisualStudio 9,也就是VS2008对应的编译器环境。这时会有错误出现,别怕,这是因为我们还没有配置相关的路径。在WITH里面将WITH_BINDING勾掉

出现红色的地方,就将刚刚下载的第三方库的include和lib文件路径对应填进去,由于我们很多库是在OSGeo4W里面下载的,因此路径大多相同,比如下面这样填写。

注意:我的GDAL并不在OSGeo4W路径中,CMAKE的路径是QGis在VS2008中编译完成后库目录的安装路径。GRASS和POSTGES可以不填写。

然后会提示选择环境setupAPI的路径,如下图:

如果是VS2010的话应该选择v7.0A文件夹下的SetupAPI.Lib文件。

完成选择以后,再点击configure,这时应该就能够成功了,输出窗口出现configure done以后,点击Generate,出现Generate done以后,就表示工程生成成功了。

这时,打开工程的输出路径,可以看到文件夹里面已经生成了一大堆文件,如下图所示:

红色框标记为VS2008的工程文件,双击打开它。进入工程以后,在解决方案下面有很多项目。

首先找到qgis_core、qgis_gui和qgis_analysis这三个工程,它们是QGis项目的底层依赖项,一个个单独生成它们,如果出现错误,可以参考李民录的博客最后几步,手动生成即可。

按照李民录的博客中记载的,如果只需要让QGis运行起来,大可以只编译几个工程,但是我不知道如何手动提取二次开发库,有知道的朋友可以交流下。生成二次开发库是编译INSTALL工程的输出结果,但是我单独编译INSTALL并不成功,我是将整个解决方案全部编译才成功的,耗时比较长。编译过程中可能会出现Spatialite相关的错误,我的做法是直接将错误代码注释掉就行了,不影响后面安装。

最后完成会在安装路径下得到开发库文件,如下图:

OK,写的有点多,可能还有不详细的地方请大家指出来,只要我知道的我都会尽量为大家解答。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值