Qgis+Cmake配置
来源:互联网 发布:宁波行知实验小学照片 编辑:程序博客网 时间:2024/04/29 09:31
2016.11开源平台Qgis项目配置手册
框架设计
一、环境需求
操作系统:Win7 64位操作系统
编译器:VS 2010
Qgis版本:QGIS-release-2_4版本源码
CMake版本:CMake2.8.12.2
Flex:http://gnuwin32.sourceforge.net/downlinks/flex.php
Bison:http://gnuwin32.sourceforge.net/downlinks/bison.php
切记配置Bison的环境变量D:\GnuWin32\GnuWin32\bin
OSGeo4W(64位):
http://download.osgeo.org/osgeo4w/osgeo4wsetupx86_64.exe
(注:以上程序安装目录不能包含中文及空格,具体请参考QGIS Win7 64位编译-记忆悔中行-博客.pdf)
二、CMake中QGis项目配置
1、设置源代码路径为QGIS-release-2_4目录
2、设置生成文件路径为与QGIS-release-2_4同级的Build(自己创建)目录
3、点击Configure,选择VS2010 64位编译器,点击Finish
以下为重点内容,在CMake中配置各lib及include路径
1、GEOS配置
2、GDAL配置
3、Expat、QWT、Spatialindex、Sqlite3配置
4、Qmake配置
5、SetupAPI.lib配置(Windows系统文件)
6、Proj配置
7、其他勾选项配置如下,只保留三项
8、以上配置选项配置成功后,可生成VS2010的项目文件qgis2.4.0.sln及其他相关项目文件,具体如下图所示:
9、编译qgis2.4.0.sln项目还需要将之前安装的unistd.h头文件放在VS安装目录下
用OSGeo4W64/include/spatialite.h
替换(可以先查看一下内容是否一致)
OSGeo4W64/include/ spatialite/spatialite.h
10、编译时选择“RelWithDebInfo”模式
11、设置解决方案的启动项为qgis
12、从解决方案中卸载无用项目,只保留如下八个项目,结果如下图所示
gdalprovider
ogrprovider
qgis
qgis_analysis
qgis_core
qgis_gui
ui
ZERO_CHECK
13、编译Qgis项目,生成qgis.exe可执行程序
14、如果出现错误:
LINK: fatal error LNK1123:转换到 COFF期间失败:文件无效或损坏
按如下方式进行解决:
将项目-->项目属性-->配置属性-->连接器-->清单文件-->嵌入清单中的“是”改为“否”,不让他将清单嵌入,自然也用不着转换了,所以轻松编译。虽然麻烦点,每次新建项目都要设置,但是总比不能编译强吧。
但是这次,不可以了,因为我的程序要加写rc,必须带清单才能正常使用。所以这种治标不治本的方法失效了。
根据猜想,可能是因为系统最近多次更新,出现了两个版本的cvtres.exe。而系统变量里将这俩都引用了,编译的时候,不知道用哪个了,导致出错。
这就好办了,删掉一个呗。
一个在C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe,另一个在你安装VS的软件目录..\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe
然后右键属性-->详细信息查看两者版本号,把老大的Kill掉,就完了。我的是在..\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe 的为老版本的,删掉它一切都正常了。
15、QGis编译之后,部分图标不显示的问题,相信很多同学在Windows下编译时都遇到过这个问题。
解决办法:http://blog.csdn.net/deirjie/article/details/50446033
事实上,这个是Qt的问题,不是QGis的问题,并不是Qt不支持”svg”的图片(QtDesigner能够显示就说明是支持的),而是运行的时候程序找不到正确支持图标格式的库文件。在这里,这个文件是”qsvg4.dll”,这个文件在Qt所在路径的”plugins/imageformats”文件夹下,将这个“qsvg4.dll”拷贝到与”qgis.exe”路径下就可以了。由于QGis版本和Qt版本的问题,有些同学可能将库文件拷过去还是不行,是因为程序没找到“imageformats”这个文件夹。这个时候,只需要将”imageformats”这个文件夹全部拷贝到”qgis.exe”路径下就可以了。
16、编译Qgis项目,生成qgis.exe可执行程序,但是无法执行。
解决方法:将D:\OSGeo4W64\bin下面.dll文件都拷贝到qgis.exe所在的文件夹下。
- Qgis+Cmake配置
- 有关QGIS编译,cmake中设置问题
- qgis
- QGis-1.6.0的CMake的缓存文件
- cmake配置
- QGIS二次开发第一讲(环境配置)
- QGIS二次开发第一讲(环境配置)
- QGIS中R插件运行配置
- Qgis二次开发包下载及配置
- cmake配置工程
- CMake自动配置OpenCV
- android-cmake 配置
- CMake交叉编译配置
- PCL+Cmake配置
- cmake 生成 CodeBlocks 配置
- CMake交叉编译配置
- CentOS安装配置cmake
- cmake交叉编译配置
- 个人推荐 快递查询API
- 基于直方图的图像检索OpenCV实现
- PHP ckeditor对中文进行处理出现问号(??)的处理方案
- AngularJS 0004:模型
- Illegal offset type in isset or empty in in project
- Qgis+Cmake配置
- Nginx Intro - Modules
- 数据竞赛思路分享:机场客流量的时空分布预测
- EAS云租赁模式实现文档
- Android中shape的使用总结
- m序列c语言实现
- Java并发系列-10、Java同步块
- myeclipse各个版本生成的注册码网址
- 浏览器加载js的阻塞与非阻塞