这几天一直在摸索着编译QGIS(长期支持版本),把整个编译过程记录下来。
一. 安装Cygwin
有可能网络不通畅,上面的地址需要手动添加上去,点击【下一步】
http://cygwin.mirror.constant.com
下载flex(词法分析)
下载Bison
注意:
- 以上只需要下载flex和Bison
- View选择Category
- 双击skip使之显示出版本号
所有搜索完成之后,点击【下一步】
开始下载
有可能下载会中断,长时间的停滞在某一个进度,需要重新走一遍流程,重新下载,下载的时间比较长!
二、安装osgeo4w-setup-x86_64.exe
如果没有出现网址,需要手动添加;
http://download.osgeo.org
网络不稳定的话,重复以上过程多次,才可以正常下载
直接输入qgis-dev-deps 点击【skip】显示出版本
三、解压ninja-win文件
把解压的ninja.exe 放到OSGeo4W64\bin目录下面
四、下载完成之后,在目录下面添加一个path.dat文件
里面的内容是:
@echo off
set VS140COMNTOOLS = D:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
call "D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64
set INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
set LIB=%LIB%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib
set OSGEO4W_ROOT=D:\QGIS\OSGeo4W64
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
call "%OSGEO4W_ROOT%\bin\py3_env.bat"
call "%OSGEO4W_ROOT%\bin\qt5_env.bat"
set O4W_ROOT=%OSGEO4W_ROOT:\=/%
set LIB_DIR=%O4W_ROOT%
path %path%;D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
path %PATH%;D:\QGIS\cmake-3.19.2-win64-x64\bin;C:\cygwin64\bin
@set GRASS_PREFIX7=D:/QGIS/OSGeo4W64/apps/grass/grass78
@set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include
@set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\lib
set LIB=%LIB%;%OSGEO4W_ROOT%\apps\Qt5\lib;%OSGEO4W_ROOT%\lib
set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\apps\Qt5\include;%OSGEO4W_ROOT%\include
@cmd
注意:
- 里面的引号都是英文环境下的
- Cmake中GRASS_PREFIX中可能是GRASS_PREFIX7,而且路径必须是反斜杠“/”
双击path.bat
然后输入 cmake-gui
弹出cmake界面。配置下载的QGIS文件夹目录
首先在根目录下面添加文件夹:build_x64
点击按钮【configure】
点击【Finish】
点击【Generate】,如果配置都正确的话应该是一次就成功,点击【Open Project】
打开VS2015工程