所需软件及代码
1、VS2008 SP1
2、CMake
3、bison
4、flex
5、osgeo4w
6、QGIS源代码
步骤:
1、安装所需软件
注意事项:
a)、bison和flex直接安装在C盘根目录下,安装路径不能有空格
b)、osgeo4w包含了QGIS所需要的第三方库的include、lib、bin,可以选择安装,也可只下载这些文件。
2、使用CMake生成QGIS的VS工程
注意事项:
a)、在CMake中设置相应文件的路径,注意_LIB表示的是具体的库,_LIB_DIR才表示是库所在的路径。
b)、基本需要的文件都可以在上述安装文件中找到,SetUpApi.lib在C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib目录中
c)、可以根据实际情况勾选相应选项
3、编译QGIS
注意事项:
a)、由于osgeo4w中的库都是release版本(额,也有可能不是这个原因)在编译debug的时候,需要忽略特定导入库msvcrt.lib,要不debug版本不能运行,报R6034错误。Release版本不需要设置该项,可以直接运行成功。
b)、直接打开生成的解决方案文件编译会出错,这时候需要手动生成两个文件
1)、对于qgis_core工程,需要手动生成qgssearchstringparser.cpp,方法如下C:/GnuWin32/bin/bison.exe -o QGIS主目录/Build/src/core/qgssearchstringparser.cpp -d -v -t QGIS主目录/src/core/qgssearchstringparser.yy
2)、对于qgis_analysis工程,需要手动生成qgsrastercalcparser.cpp,方法如下C:/GnuWin32/bin/bison.exe -p raster -o QGIS主目录/Build/src/analysis/qgsrastercalcparser.cpp -d -v -t QGIS主目录/src/analysis/raster/qgsrastercalcparser.yy
c)、如还遇到找不到头文件或者lib文件的错误,可以在VS工程中进行设置
4、基于QGIS的开发
a)、接口库:qgis_core、qgis_gui、qgis_analysis
b)、插件库,可以根据自己的需要进行加载
c)、debug与release版本下分别使用对应版本的QGIS库。在debug版本下使用release版本的qgis库,在new QgsMapCanvas时会自动退出。注意,qgis debug版本编译时要注意上述注意事项,要不运行会报R6034错误。