QGIS在Windows下的编译——QGIS3.28.15 + Qt5.15.3 +CMake3.28.0 + VS2022 ---64位版本

0 前言

        1. 编译环境&&软件版本:
        (1)Windows 10 64位 专业版
        (2)Visual Studio Community 2022(社区版)
        (3)CMake-3.28.0 64位
        (4)Cygwin 64位
        (5)OSGeo4W 64位
        (6)Qt5.15.3-64位(通过OSGeo4W 下载)
        (7)QGIS-3.28.15 源码
        2. 关于QT:
        本次编译使用的QT依赖项来源于OSGeo4W下载,读者也可以通过单独下载安装QT5.15.3,并完成相关配置,得到QT环境。
        3. 关于OSGeo4W和Cygwin下载:
        (1)安装OSGeo4W和Cygwin的过程相似,都会伴随依赖项的下载安装。
        (2)凡是还没下载的依赖项,OSGeo4W和Cygwin中都需要选择install;对于已下载的依赖项,在OSGeo4W和Cygwin中都显示为keep,无需再下载。
        (3)OSGeo4W和Cygwin中下载依赖项是增量式的,比如你已经安装了OSGeo4W和Cygwin,但是后期编译过程中发现少了东西(例如iconv、gdal等),可以重复OSGeo4W和Cygwin的安装过程,而已下载的依赖项不会被清除。

1 编译过程

1.1 软件准备

        (1)操作系统:Windows 10 64位 专业版(旗舰版、家庭版等其他版本也可)
        (2)其他软件下载及安装:

工具包下载地址
QGIS 3.28.15源码Download QGIS
CMake 3.28.0(64位)Index of /files
Cygwin(64位)Cygwin Installation
OSGeo4W (64位)Download QGIS
QT 5.15.3(64位)在OSGeo4W 中搜索qgis-dev-deps下载
源码下载
CMake下载及安装

Cygwin安装时要安装以下包:

        - bison

        -flex

        -git(即使你的电脑上已经安装了git) 

Cygwin下载及安装

OSGeo4W下载及安装

        Visual Studio 2022(大于2019的版本即可)的安装省略,需要包含有c++模块。

1.2 配置环境变量

        下载完成后,将Cygwin和OSGeo4W及其下载的依赖库添加到系统的环境变量。假设都装在D盘,则在系统变量Path里添加以下内容: D:\cygwin64\bin;D:\cygwin64\lib;D:\OSGeo4W\bin;D:\OSGeo4W\include;D:\OSGeo4W\lib;

1.3 创建批处理脚本

        1)新建一个start_compile.bat,右键-编辑,里面内容如下(批处理脚本中的具体路径取决于前面的安装位置):

@echo off
set VS150COMNTOOLS=C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
 
set INCLUDE=%INCLUDE%;C:\Program Files (x86)\Windows Kits\10\Include
set LIB=%LIB%;C:\Program Files (x86)\Windows Kits\10\Lib
 
set OSGEO4W_ROOT=D:\OSGeo4W
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
SET PYTHONHOME=%OSGEO4W_ROOT%\apps\Python39
SET PYTHONPATH=%PYTHONHOME%;%PYTHONHOME%\Scripts
set PYTHON_EXECUTABLE=%PYTHONHOME%/python3.exe
PATH %PYTHONPATH%;%PATH%
 
 
path %OSGEO4W_ROOT%\apps\Qt5\bin;%PATH%
 
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\Qt5\plugins
set O4W_QT_PREFIX=%OSGEO4W_ROOT:\=/%/apps/Qt5
set O4W_QT_BINARIES=%OSGEO4W_ROOT:\=/%/apps/Qt5/bin
set O4W_QT_PLUGINS=%OSGEO4W_ROOT:\=/%/apps/Qt5/plugins
set O4W_QT_LIBRARIES=%OSGEO4W_ROOT:\=/%/apps/Qt5/lib
set O4W_QT_TRANSLATIONS=%OSGEO4W_ROOT:\=/%/apps/Qt5/translations
set O4W_QT_HEADERS=%OSGEO4W_ROOT:\=/%/apps/Qt5/include
set O4W_QT_DOC=%OSGEO4W_ROOT:\=/%/apps/Qt5/doc
 
set O4W_ROOT=%OSGEO4W_ROOT:\=/%
set LIB_DIR=%O4W_ROOT%
path %path%;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\bin\Hostx64\x64
path %PATH%;D:\OSGeo4W\apps\Qt5\bin;D:\cygwin64\bin
@set GRASS_PREFIX=D:\OSGeo4W\apps\grass\grass83
@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
 
call "D:\CMake\bin\cmake-gui.exe"

        2)以管理员身份启动cmd命令行,切换到上述start_compile.bat路径下,回车运行start_compile.bat,如图所示:

        3)弹出CMake的图形化界面。

2 编译QGIS

        1)“Where is the source code”一栏选择QGIS源码文件夹,“Where to build the binaries”一栏选择生成vs工程的目标路径。

        2)点击“Configure”,在弹出对话框选择“Visual Studio 17 2022”,点击“finish”。 

        3)如果前面的配置没有问题,configure将顺利完成;笔者遇到一个报错,提示没找到gdal,解决方案是手动配置gdal的头文件和lib库路径,然后继续点击“configure”即可,如下图所示:

gdal在前面下载的OSGeo4W路径下

        4)接下来笔者又遇到一个报错,提示没找到Python的开发包,如下图所示。解决方案是取消勾选“WITH_BINDINGS”和“BUILD_TESTING”,其他不变,再次点击“configure”,不再报错,如下图所示:

提示missing:Development Development.Module Development.Embed
取消勾选“WITH_BINDINGS”和“BUILD_TESTING”
取消勾选“WITH_BINDINGS”和“BUILD_TESTING”

        5)点击“Generate”,如果前面的配置没有问题,generate将顺利完成。

        6)点击“Open Project”,打开生成的VS工程,可以看到一共有432个工程,如下图所示:

        7)编译模式选择“RelWithDebInfo”,如下图所示:

        8)将qgis设置为启动项。

        9)将“D:\cygwin64\bin”、“D:\OSGeo4W\bin”、“D:\OSGeo4W\apps\gdal-dev\bin”和“D:\OSGeo4W\apps\Qt5\bin”路径下所有dll文件,拷贝到“%构建目录%\output\bin\RelWithDebInfo”下,即“qgis.exe”所在目录下。其中,%构建目录%是指CMake的“Where to build the binaries”指向的目录。

        10)点击“本地Windows调试器”,VS自动进行qgis的编译,等待qgis编译完成(编译链接打包耗时约一个半小时),QGIS正常启动,证明QGIS源码编译成功。

### 回答1: QGIS是一个开源的地理信息系统(GIS)软件,可用于创建、编辑、分析和查看地理空间数据。OSGeo4W是一个用于Windows操作系统的软件发行版,其中包含许多开源地理空间软件,包括QGIS。 要下载QGIS的安装程序(qgis-osgeo4w-3.16.12-1-setup-x86_64.exe),首先需要访问官方网站或镜像站点。然后,找到QGIS的下载页面,通常会列出不同版本和操作系统的下载选项。 在下载页面上,查找与您的操作系统(Windows)和计算机架构(64位)兼容的版本。然后,点击相关的下载链接以开始下载该安装程序。 下载过程可能需要几分钟或更长时间,具体取决于您的网络连接速度。一旦下载完成,您可以运行安装程序。 运行安装程序后,按照界面指示进行安装。通常,您需要接受许可协议、选择安装位置和组件,并可能需要提供管理员权限。 安装程序将自动安装QGIS及其相关依赖项,例如Python和GDAL等。安装完成后,您可以在开始菜单或桌面上找到QGIS的快捷方式。 通过双击QGIS的快捷方式,即可启动该软件。然后,您可以开始使用QGIS来处理和分析地理空间数据,创建地图和执行其他地理信息系统任务。 需要注意的是,版本号可能会有所变化,所以您可能需要在下载页面上找到最新的稳定版本,以确保获得最新的功能和修复。 ### 回答2: qgis-osgeo4w-3.16.12-1-setup-x86_64.exe是QGIS软件的安装程序,可以在Windows 64位操作系统上使用。 首先,要下载这个安装程序,你需要在浏览器中搜索QGIS官方网站或者其他可信的软件下载网站。一旦找到了合适的网站,找到QGIS软件的下载页面。 在QGIS的下载页面中,你会找到不同版本QGIS软件以及各种操作系统的安装程序。找到适用于Windows 64位操作系统的QGIS版本,并且下载qgis-osgeo4w-3.16.12-1-setup-x86_64.exe安装程序。 点击下载链接后,会弹出一个文件下载对话框。选择保存文件的位置,点击“保存”按钮开始下载。下载速度取决于你的网络连接速度。 下载完成后,双击打开qgis-osgeo4w-3.16.12-1-setup-x86_64.exe安装程序。在安装程序运行时,可能会要求你接受许可协议和选择安装选项。阅读并同意许可协议,并选择你想要安装的组件和文件夹。根据你的需要和电脑空间来选择。 点击“下一步”按钮继续安装过程,等待一段时间,安装程序会自动将QGIS软件安装到你选择的文件夹中。安装完成后,你可以选择启动QGIS软件,或者手动启动。 启动QGIS后,你可以开始使用这个强大的地理信息系统软件来处理和分析地理数据。 ### 回答3: QGIS是一款开源的地理信息系统(GIS)软件,它能够对地理空间数据进行处理、分析和可视化。OSGeo4W是一个用于安装和管理开源地理空间软件的框架,它提供了一系列的GIS工具和库。 qgis-osgeo4w-3.16.12-1-setup-x86_64.exe是QGIS软件在Windows系统上的安装程序。它通过双击运行该可执行文件来进行安装,其中"qgis"表示QGIS软件的名称,"osgeo4w"表示使用OSGeo4W框架进行安装,"3.16.12-1"表示软件的版本号,"setup"表示安装程序,"x86_64"表示适用于64位操作系统,".exe"则表示该文件是Windows可执行文件的扩展名。 使用该文件进行下载和安装QGIS软件需要遵循以下步骤: 1. 在QGIS的官方网站上(https://qgis.org/zh-Hans/site/)找到下载页面或点击"下载"按钮。 2. 在下载页面中选择适用于Windows操作系统的安装程序下载链接,常见的是"x86_64"版本。 3. 单击下载链接,选择保存文件的位置,保存qgis-osgeo4w-3.16.12-1-setup-x86_64.exe文件到本地计算机。 4. 找到并打开保存的文件夹,双击运行该安装程序。可能会弹出用户控制许可证协议的对话框,请阅读并同意相关条款。 5. 在安装程序中选择所需的安装选项,例如安装位置、语言等。可以按照默认设置进行安装,也可以根据自己的需要进行定制。 6. 等待安装程序完成,安装过程中可能需要下载和安装一些必要的文件和依赖库,这可能需要一些时间和网络连接。 7. 当进度条显示安装完成后,安装程序会自动关闭。此时QGIS软件已经成功安装到计算机上。 8. 可以通过开始菜单、桌面图标或安装目录中的快捷方式来启动QGIS软件。 通过上述步骤,你可以成功下载和安装qgis-osgeo4w-3.16.12-1-setup-x86_64.exe,并在Windows系统上使用QGIS软件进行地理信息系统的相关工作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值