欢迎来到天天文库
浏览记录
ID:8905543
大小:12.73 KB
页数:3页
时间:2018-04-11
《qgis编译需要注意的问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、QGIS编译需要注意的问题 2011-03-0716:19:28
2、 分类:QGIS
3、 标签:
4、字号大中小 订阅QGIS是一个开源的GIS,虽然官方网站上提供了二进制包下载,但为了用其提供的SDK二次开发,必须对其进行编译,生成适合自己使用的SDK库,使用vc8对其进行编译,需要注意的一点是:使用bison.exe生成qgssearchstringparser.cpp文件时会出错误,错误信息如下:C:GnuWin32binbison.exe-oC:/bin16/src/core/qgssearchstringparser.cpp-d-v-t
5、C:/qgis-1.6.0/qgis-1.6.0/src/core/qgssearchstringparser.yyiferrorlevel1gotoVCReportErrorgotoVCEnd:VCReportErrorechoProject:errorPRJ0019:Atoolreturnedanerrorcodefrom"Generatingqgssearchstringparser.cpp"exit1因此,必须手工生成该文件,在dos环境下,进入bison.exe文件所在的目录,执行下述命令:c:>cdGnuWin32c:gnuwin32
6、>cdbinc:gnuwin32bin>bison.exe-oC:/bin16/src/core/qgssearchstringparser.cpp-d-v-tC:/qgis-1.6.0/qgis-1.6.0/src/core/qgssearchstringparser.yy这里C:/qgis-1.6.0/qgis-1.6.0指的是ggis源码所在的目录,C:/bin16指的是cmake生成的vc工程文件所在的目录,上述命令表示用qgssearchstringparser.yy在vc工程文件所在的目录下生成qgssearchstringparse
7、r.cpp文件。另外一个需要注意的问题是,指定postgresql库文件时,需要指定libpq.lib文件。编译QGIS并进行二次开发(2011-07-2216:48:17)所需软件及代码1、VS2008SP12、CMake3、bison4、flex5、osgeo4w6、QGIS源代码 步骤:1、安装所需软件 注意事项: a)、bison和flex直接安装在C盘根目录下,安装路径不能有空格 b)、osgeo4w包含了QGIS所需要的第三方库的include、lib、bin,可以选择安装,也可只下载这些文件。2、使用CMake生成QGIS的VS工
8、程 注意事项: a)、在CMake中设置相应文件的路径,注意_LIB表示的是具体的库,_LIB_DIR才表示是库所在的路径。 b)、基本需要的文件都可以在上述安装文件中找到,SetUpApi.lib在C:ProgramFilesMicrosoftSDKsWindowsv6.0ALib目录中 c)、可以根据实际情况勾选相应选项3、编译QGIS 注意事项: a)、由于osgeo4w中的库都是release版本(额,也有可能不是这个原因)在编译debug的时候,需要忽略特定导入库msvcrt.lib,要不debug版本不能运行,报R6
9、034错误。Release版本不需要设置该项,可以直接运行成功。 b)、直接打开生成的解决方案文件编译会出错,这时候需要手动生成两个文件 1)、对于qgis_core工程,需要手动生成qgssearchstringparser.cpp,方法如下C:/GnuWin32/bin/bison.exe-oQGIS主目录/Build/src/core/qgssearchstringparser.cpp-d-v-tQGIS主目录/src/core/qgssearchstringparser.yy 2)、对于qgis_analysis工程,需要手动生
10、成qgsrastercalcparser.cpp,方法如下C:/GnuWin32/bin/bison.exe-praster-oQGIS主目录/Build/src/analysis/qgsrastercalcparser.cpp-d-v-tQGIS主目录/src/analysis/raster/qgsrastercalcparser.yy c)、如还遇到找不到头文件或者lib文件的错误,可以在VS工程中进行设置4、基于QGIS的开发 a)、接口库:qgis_core、qgis_gui、qgis_analysis b)、插件库,可以根据自己的需要
11、进行加载 c)、debug与release版本下分别使用对应版本的QGIS库。在debug版本下使用rel
此文档下载收益归作者所有