QGIS1.7.1版本编译

前端之家收集整理的这篇文章主要介绍了QGIS1.7.1版本编译前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

QGIS1.7.1编译

(仅将此文献给喜欢调试QGIS的Giser)

编译qgis开始

参考文档:{

http://download.osgeo.org/qgis/doc/manual/qgis-1.6.0_coding-compilation_guide_en.pdf}

参考网址:{http://www.qgis.org/wiki/Building_QGIS_from_Source}

编译环境:windowsxp,vs2008,Qt4.5.0

1. 下载软件;

下载Gnuw:安装到C:\GnuWin32

{

Microsoft Windows Server® 2003 R2 Platform SDK:http://download.microsoft.com/download/f/a/d/fad9efde-8627-4e7a-8812-c351ba099151/PSDK-x86.exe

Flex:http://gnuwin32.sourceforge.net/downlinks/flex.php

Bison:http://gnuwin32.sourceforge.net/downlinks/bison.php

注意:拷贝:GnuWin32/include/unistd.h到vs2008安装目录下../VC/include

}

下载安装OSGEO4W,安装到C:\OSGeo4W

OSGeo4W:http://download.osgeo.org/osgeo4w/osgeo4w-setup.exe

选择安装下面lib:

expat

fcgi

gdal17

grass

gsl-devel

iconv

pyqt4

qt4-devel

qwt5-devel-qt4

sip

下载安装Cmake;

CMake :http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe

下载安装Qt(qt-win-opensource-4.5.0-vs2008.exe)

2. 下载qgis代码;qgis1.6.0和qgis1.7.1已经编译通过:

http://qgis.org/downloads/qgis-1.6.0.tar.bz2

http://qgis.org/downloads/qgis-1.7.1.tar.bz2

3. 指向代码;如下设置

在源码文件夹建立Build文件

postgresql文件指定osgeo4w中的lib下的libpq.lib文件


http://sourceforge.net/projects/win32svn/les/1.6.13/setup-subversion-1.6.13msi/download

4. 处理一下:qgis1.6.0版本需要处理;

使用bison.exe 生成qgssearchstringparser.cpp 文件时会出错误错误信息如下:

C:\GnuWin32\bin\bison.exe -oD:/QGIS1.6.0/Build/src/core/qgssearchstringparser.cpp -d -v -t D:/QGIS1.6.0/src/core/qgssearchstringparser.yy

if errorlevel 1 goto VCReportError

goto VCEnd

:VCReportError

echo Project : error PRJ0019: A tool returned an error code from "Generating qgssearchstringparser.cpp"

exit 1

因此,必须手工生成文件,在dos环境下,进入bison.exe文件所在的目录,执行下述命令:

c:\>cd GnuWin32

c:\gnuwin32>cd bin

c:\gnuwin32\bin>bison.exe -o D:/QGIS1.6.0/Build/src/core/qgssearchstringparser.cpp -d -v -t D:/QGIS1.6.0/src/core/qgssearchstringparser.yy

这里D:/QGIS1.6.0指的是ggis源码所在的目录,D:/QGIS1.6.0/Build指的是cmake生成的vc工程文件所在的目录,上述命令表示用qgssearchstringparser.yy在vc工程文件所在的目录下生成qgssearchstringparser.cpp 文件

对于qgis_core工程,需要手动生成qgssearchstringparser.cpp,方法如下

C:/GnuWin32/bin/bison.exe -oD:/QGIS1.6.0/Build/src/core/qgssearchstringparser.cpp -d -v -t D:/QGIS1.6.0/src/core/qgssearchstringparser.yy

对于qgis_analysis工程,需要手动生成qgsrastercalcparser.cpp,方法如下

C:/GnuWin32/bin/bison.exe -p raster -oD:/QGIS1.6.0/Build/src/analysis/qgsrastercalcparser.cpp -d -v -t D:/QGIS1.6.0/src/analysis/raster/qgsrastercalcparser.yy

编译qgis1.7.1版本不需要本步骤处理。

5. 启动编译,成功运行!只需要按下2个F7即可。(经过测试,qgis1.7.1版本为稳定版本,源码保重包含了CODING.pdf和INSTALL.pdf文件,对于qgis二次开发,可谓是绝佳宝典)

建议使用debug编译lib库,方便后面案例应用调试;(我曾经使用RelWithDebInfo格式的lib、dll出现了一个错误QWidget: Must construct a QApplication before a QPaintDevice,设定了debug编译,拷贝相应库到对应文件夹,问题解决

6. 测试案例,参考链接6,里面包含设置与调试运行;

7. Enjoy it!

8. 可能出现的问题:

a) Python问题,建议选择osgeo4w中的python,不推荐使用arcgis等软件提供的python;

b) Qt安装之后,设置环境变量QTDIR并指向相应位置、并将其添加到path中(%QTDIR%;%QTDIR%\bin),添加GnuWin32到path中(C:\GnuWin32\bin;)等

c) 其他问题,诸如应用程序无法正常启动(0xc0150002) 的办法解决参考网上解决

9. 参考连接

a) 参考编译:http://blog.sina.com.cn/s/blog_62cd89530100t9um.html

b) 参考编译:http://www.jb51.cc/article/p-pjqbwhtn-bbp.html

c) 参考编译:http://www.cnblogs.com/ajeyone/archive/2011/05/12/2044680.html

d) 编译问题:http://lzchenheng.blog.163.com/blog/static/838335362011274940450/

e) 示范程序:http://download.csdn.net/detail/lzchenheng/3356813

f) QGIS二次开发介绍:

http://lzchenheng.blog.163.com/blog/static/838335362011214103147804/

原文链接:https://www.f2er.com/postgresql/196775.html

猜你在找的Postgre SQL相关文章