专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
Qgis+Cmake配置
2019-04-14 16:11
发布
生成海报
站内文章
/
模拟电子
16632
0
1585
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:GnuWin32GnuWin32in
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:WindowsMicrosoft.NETFrameworkv
4.0.30319
cvtres.exe
,另一个在你安装
VS
的软件目录
..Microsoft Visual Studio 10.0vcincvtres.exe
然后右键属性
-->
详细信息
查看两者版本号,把老大的
Kill
掉,就完了。我的是在
..Microsoft Visual Studio 10.0vcincvtres.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:OSGeo4W64in
下面
.dll
文件都拷贝到
qgis.exe
所在的文件夹下。
Ta的文章
更多
>>
Altium Designer圆形、椭圆形敷铜
0 个评论
Qgis+Cmake配置
0 个评论
发电机导电滑环安装及注意事项
0 个评论
热门文章
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮