摘要: 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版的;
- 而为了调试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