编译 QGIS 1.7.0
- 前面的几个步骤大部分可以按照官方文档安装,点击这里下载。这里用的是VC9(2008)编译。
- 必须的几个工具软件:Cmake, Flex, Bison, SVN, OSGeo4W。其中Flex和Bison注意要安装在没有空格的目录中,比如C:\GnuWin32,不要用默认的路径。
- checkout源代码,按照官方文档的地址checkout就行了,用什么软件无所谓。
- 用OSGeo4W安装各种依赖库,用默认的路径C:\OSGeo4W即可。OSGeo4W会自动安装所选的库所依赖的库,按照官方文档内的列表和所需的最低版本选就可以了。
- 将C:\GnuWin32\include(就是Flex和Bison的安装目录)中的unistd.h文件拷贝到VC的include目录中,VC的include目录一般在C:\Program Files\Microsoft Visual Studio 9.0\VC\include。
- 官方文档中有一大段设置环境变量的代码,拷贝下来保存成一个批处理文件。这个文件不一定适合你安装的路径,可能需要修改一些,比如windows sdk的路径。
- 在命令行中执行设置环境变量的批处理文件,之后不要关闭,继续在命令行中运行cmake,如果成功安装了cmake,输入cmake-gui即可。一定要执行环境变量设置后运行cmake,不能直接在桌面上点击cmake-gui的图标。
- cmake-gui很容易看懂,只是注意要新建一个build文件夹,位置无所谓,最好和源代码平行。可以建很多build文件夹,使用不同的编译器编译,不用的时候直接删除build文件夹即可。运行完cmake就可以把命令行和cmake关掉了。
- 重点:打开cmake生成的vs solution文件,这时直接编译还会有错误。有两个小技巧我也是在网上搜到的,设置环境变量M4,M4是Bison中一个可执行程序,如不设置需要手动执行Bison:M4=C:\GnuWin32\bin\m4.exe;设置一个环境变量PYTHONHOME,PYTHONHOME指定了Python的安装路径,如不设置有几个项目无法编译通过,提示找不到Python的库:PYTHONHOME=C:\OSGeo4W\apps\Python25。
- 未完待续……
1
2
3
4
5
6
7
8
9
10
11
12
13
|
设置环境变量的批处理文件内容:<br>@echo
off path
%SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\System32\Wbem;%PROGRAMFILES%\CMake 2.8\bin;%PROGRAMFILES%\subversion\bin;C:\GnuWin32\bin set
PYTHONPATH= set
VS90COMNTOOLS=%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\Tools\ call
"%PROGRAMFILES%\Microsoft
Visual Studio 9.0\VC\vcvarsall.bat" x86 set
INCLUDE=%INCLUDE%;%PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\Include set
LIB=%LIB%;%PROGRAMFILES%\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.1 @set
INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\apps\gdal-17\include;%OSGEO4W_ROOT%\include @set
LIB=%LIB%;%OSGEO4W_ROOT%\apps\gdal-17\lib;%OSGEO4W_ROOT%\lib @cmd |