基于GIS 的Win7下VS2008调试QGIS1.7.0

基于GIS 的Win7下VS2008调试QGIS1.7.0

2016-10-27 作者: 肖芳 浏览: 2411 次

摘要: Win7下调试qgis1.7.0是一个概率性问题。不同的人会遇见不同的错误,估计是编译环境的不同或者blabla一系列我也说不明白的问题。谨在此将自己遇到的和网上查到的总结一下。 先说说自己的吧: 1、qgis.bat 这个批处理文件的内容还是很值得研究一下,...

Win7下调试qgis1.7.0是一个概率性问题。不同的人会遇见不同的错误,估计是编译环境的不同或者blabla一系列我也说不明白的问题。谨在此将自己遇到的和网上查到的总结一下。 先说说自己的吧:

1、qgis.bat

这个批处理文件的内容还是很值得研究一下,我的范本是:

> @echo off > path %SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\System32\Wbem;C:\Progra~2\CMake 2.8\bin;C:\Progra~2\subversion\bin;C:\GnuWin32\bin > set PYTHONPATH= > > set VS90COMNTOOLS=D:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\ > call "D:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 > > set INCLUDE=%INCLUDE%;C:\Progra~1\Microsoft SDKs\Windows\v6.0A\Include > set LIB=%LIB%;C:\Progra~1\Microsoft SDKs\Windows\v6.0A\lib > > set OSGEO4W_ROOT=C:\OSGeo4W > call "%OSGEO4W_ROOT%\bin\o4w_env.bat" > > @set GRASS_PREFIX=C:\OSGeo4W\apps\grass\grass-6.4.0 > @set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include > @set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\lib > > @cmd

2、configure时出现The C compiler

> "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/cl.exe" is not able to compile a simple test program. >
> > OK, so for 2.6, you are getting this: > C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com > > For 2.8 you are getting this: > C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe >

3、configure时找不到GRASS路径

> CMakeLists.txt中line51改为SET (WITH_GRASS FALSE CACHE BOOL "Determines whether GRASS plugin should be built")

4、Flex 和 Bison

这两个工具在安装时,安装目录不要有空格,否则在编译QGIS时找不到这两个文件。

5、编译报错:

> Project : error PRJ0019: A tool returned an error code from "Generating qgssearchstringparser.cpp" > 手工执行C:/GnuWin32/bin/bison.exe -oD:/QGis170/src/core/qgssearchstringparser.cpp -d -v -t D:/QGis170/src/core/qgssearchstringparser.yy > C:/GnuWin32/bin/bison.exe -p raster -oD:/QGis170/src/analysis/qgsrastercalcparser.cpp -d -v -t D:/QGis170/src/analysis/raster/qgsrastercalcparser.yy

6、环境变量

设置环境变量M4,M4是Bison中一个可执行程序,如不设置需要手动执行Bison:M4=C:\GnuWin32\bin\m4.exe;设置一个环境变量PYTHONHOME,PYTHONHOME指定了Python的安装路径,如不设置有几个项目无法编译通过,提示找不到Python的库:PYTHONHOME=C:\OSGeo4W\apps\Python25。

7、编译选项

修改编译设置为RelWithDebInfo,这是因为

1.安装的OSGeo4W都是release版的;

  1. 而为了调试qgis,又需要debug信息。

最后直接运行\src\app\RelWithDebInfo下的qgis.exe显然不可以,所以我把C:\OSGeo4W\bin里面除了文件夹和exe之外的一系列dll都拷贝到RelWithDebInfo中,另外新建一个plugins文件夹,搜索\src\plugins中所有的dll、lib和pdb,拷贝到plugins中。当然也可以参照参考文档1中的方法自己建立一个bat文件,比较简洁~

千万要注意的问题:安装OSGeo4W时选择的是高级安装,我图省事直接把所有的库都装了,后来运行qgis.exe时提示缺少ippj-3.5.dll,四处找不到答案,在网上下载dll时又顺便带了病毒。后来发现不能太省事,安装OSGeo4W,lib中的gdal-dev下,选择libjpeg的同时不能选择libjpeg-ipp。

http://hi.baidu.com/�����˶���/blog/item/a473e3079833f5fa09fa931e.html 编译参考文档: http://www.itk.org/Bug/view.php?id=9634 http://www.cnblogs.com/ajeyone/archive/2011/05/12/2044680.html http://blog.sina.com.cn/s/blog_3f9346220100jhsd.html http://blog.csdn.net/gisstar/article/details/4249225 http://blog.csdn.net/wsh6759/article/details/6894073 http://blog.csdn.net/ryanzll/article/details/6217142

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org