目录
一、说明
本专栏采用make、nmake、CMake,以及Visual Studio(VS)等编译工具、配置工具、IDE环境,实现QGIS依赖库,以及QGIS运行库、执行程序的跨平台编译。
1.1 make工具
make是一个命令工具,是一个解释makefile中指令的工具,make是一条命令,makefile是一个文件,两个搭配使用,完成项目的自动化构建。
1.2 nmake工具
nmake是Microsoft 程序维护实用工具 ,Visual Studio 随附的命令行工具。 它基于一个描述文件中包含的命令生成项目,该文件通常称为“生成文件”。
nmake 必须在“开发人员命令提示”窗口中运行。 开发人员命令提示窗口具有为工具、库设置的环境变量,并且包括在命令行上生成所需的文件路径。
1.3 CMake工具
CMake是一个跨平台的开源构建工具,用于管理软件编译过程。它使用一种简化的语法来描述构建过程,并生成适用于各种构建系统(如Make、Ninja等)的构建文件。CMake可以帮助开发者更方便地管理项目依赖、编译选项和构建目标。
1.4 Visual Studio(VS)
Visual Studio是由微软开发的集成开发环境(IDE),用于软件开发、调试和部署。它提供了丰富的工具和功能,支持多种编程语言和平台。
二、环境安装与配置
1、Flex、Bison编译(安装)(Windows、Linux、MacOS环境下安装):QGIS编译(跨平台编译)之一:Flex、Bison编译(安装)(Windows、Linux、MacOS环境下安装)_翰墨之道的博客-CSDN博客_qgis flex
2、CMake跨平台安装(Windows、Linux、MacOS环境下安装):QGIS编译(跨平台编译)之二:CMake跨平台安装(Windows、Linux、MacOS环境下安装)_翰墨之道的博客-CSDN博客_cmake 编译qgis
3、Python跨平台安装(Windows、Linux、MacOS环境下安装):QGIS编译(跨平台编译)之三:Python跨平台安装(Windows、Linux、MacOS环境下安装)_翰墨之道的博客-CSDN博客
4、SIP安装(Windows、Linux、MacOS环境下安装):
QGIS编译(跨平台编译)之四:SIP安装(Windows、Linux、MacOS环境下安装)_sip怎么安装-CSDN博客
5、PyQT安装(Windows、Linux、MacOS环境下安装):
QGIS编译(跨平台编译)之五:PyQT安装(Windows、Linux、MacOS环境下安装)_pyqt跨平台编译-CSDN博客
6、PostgreSQL安装(Windows、Linux、MacOS环境下安装):
QGIS编译(跨平台编译)之六:PostgreSQL安装(Windows、Linux、MacOS环境下安装)_qgis 编译支持了 postgres-CSDN博客
7、GrassGIS安装(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)之七:GrassGIS安装(Windows、Linux、MacOS环境下编译)_grassgis下载-CSDN博客
8、PyQt-builder安装(Windows、Linux、MacOS环境下安装):
QGIS编译(跨平台编译)之八:PyQt-builder安装(Windows、Linux、MacOS环境下安装)_qgis pyqt-builder版本-CSDN博客
9、Linux环境下安装Python、pyqt5、pyqt5-tools等:
10、MacOS环境下安装Python、pyqt5、pyqt5-tools等:
QGIS编译(跨平台编译)之十:MacOS环境下安装Python、pyqt5、pyqt5-tools等_macos pyqt5-tools-CSDN博客
三、跨平台编译第三方库
1、Sqlite编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)016:Sqlite编译(Windows、Linux、MacOS环境下编译)_qgis编译(跨平台编译)-CSDN博客
2、zlib编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)017:zlib编译(Windows、Linux、MacOS环境下编译)_zlib 编译-CSDN博客
3、OpenSSL编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)018:OpenSSL编译(Windows、Linux、MacOS环境下编译)_openssl跨平台编译-CSDN博客
4、SSH2编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)019:libSSH2编译(Windows、Linux、MacOS环境下编译)_libssh2支持哪些平台-CSDN博客
5、curl编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)020:libcurl编译(Windows、Linux、MacOS环境下编译)_nsis libcurl-CSDN博客
6、LZMA编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)021:libLZMA编译(Windows、Linux、MacOS环境下编译)_liblzma 交叉编译-CSDN博客
7、jpeg编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)022:libjpeg编译(Windows、Linux、MacOS环境下编译)_libjpeg 编译静态库环境-CSDN博客
8、zstd编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)023:zstd编译(Windows、Linux、MacOS环境下编译)_qgis编译zstd-CSDN博客
9、LZ4编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)024:LZ4编译(Windows、Linux、MacOS环境下编译)_windows lz4 安装-CSDN博客
10、libbz2编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)025:libbz2编译(Windows、Linux、MacOS环境下编译)
11、libzip编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)026:libzip编译(Windows、Linux、MacOS环境下编译)
12、png编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)027:libpng编译(Windows、Linux、MacOS环境下编译)
13、giflib编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)028:giflib编译(Windows、Linux、MacOS环境下编译)
14、Tiff编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)029:libTiff编译(Windows、Linux、MacOS环境下编译)
15、openjpeg编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)030:openjpeg编译(Windows、Linux、MacOS环境下编译)
16、webp编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)031:webp编译(Windows、Linux、MacOS环境下编译)
17、iconv编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)032:libiconv编译(Windows、Linux、MacOS环境下编译)_libiconv macos-CSDN博客
18、Expat编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)033:Expat编译(Windows、Linux、MacOS环境下编译)_linux expat-CSDN博客
19、xml2编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)034:libxml2编译(Windows、Linux、MacOS环境下编译)_libxml 跨平台-CSDN博客
20、Xerces编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)035:Xerces编译(Windows、Linux、MacOS环境下编译)_linux 编译安装xerces-CSDN博客
21、freetype编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)036:freetype编译(Windows、Linux、MacOS环境下编译)_qgis mac 编译-CSDN博客
22、fontconfig编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)037:fontconfig编译(Windows、Linux、MacOS环境下编译)_windows编译fontconfig-CSDN博客
23、proj编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)038:proj编译(Windows、Linux、MacOS环境下编译)_linux下proj编译需要sqlite-CSDN博客
24、geotiff编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)039:geotiff编译(Windows、Linux、MacOS环境下编译)_编译geotiff-CSDN博客
25、geos编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)040:geos编译(Windows、Linux、MacOS环境下编译)
26、Spatialindex编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)041:libspatialindex编译(Windows、Linux、MacOS环境下编译)-CSDN博客
27、rttopo编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)042:librttopo编译(Windows、Linux、MacOS环境下编译)-CSDN博客
28、Protobuf编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)043:Protobuf编译(Windows、Linux、MacOS环境下编译)_qgis配置protobuf-CSDN博客
29、HDF5编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)044:HDF5编译(Windows、Linux、MacOS环境下编译)_hdf5软件mac-CSDN博客
30、NetCDF编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)045:NetCDF编译(Windows、Linux、MacOS环境下编译)_netcdf 编译-CSDN博客
31、FreeXL编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)046:FreeXL编译(Windows、Linux、MacOS环境下编译)-CSDN博客
32、MiniZip编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)047:minizip编译(Windows、Linux、MacOS环境下编译)_linux minizip-CSDN博客
33、spatialite编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)048:spatialite编译(Windows、Linux、MacOS环境下编译)_linux编译spatialite-CSDN博客
34、Pixman编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)049:pixman编译(Windows、Linux、MacOS环境下编译)_pixman库-CSDN博客
35、cairo编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)050:cairo编译(Windows、Linux、MacOS环境下编译)
36、rasterlite2编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)051:rasterlite2编译(Windows、Linux、MacOS环境下编译)
37、Shapelib编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)052:Shapelib编译(Windows、Linux、MacOS环境下编译)
38、GDAL编译、OGR编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)053:GDAL编译、OGR编译(Windows、Linux、MacOS环境下编译)
39、Exiv2编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)054:Exiv2编译(Windows、Linux、MacOS环境下编译)
40、GSL编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)055:GSL编译(Windows、Linux、MacOS环境下编译)
41、PDAL编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)056:PDAL编译(Windows、Linux、MacOS环境下编译)
42、FastCGI编译(Windows、Linux、MacOS环境下编译):
QGIS编译(跨平台编译)057:FastCGI编译(Windows、Linux、MacOS环境下编译)
43、libtasn1编译(Linux、MacOS环境下编译):
QGIS编译(跨平台编译)058:libtasn1编译(Linux、MacOS环境下编译)
四、相关插件编译
1、QWT编译、QWT安装(Windows、Linux、MacOS环境下编译、安装):
QGIS编译(跨平台编译)之五十五:QWT编译、QWT安装(Windows、Linux、MacOS环境下编译、安装)_qt编译qgis deppin-CSDN博客
2、QScintilla编译、QScintilla安装(Windows、Linux、MacOS环境下编译、安装):
QGIS编译(跨平台编译)之五十六:QScintilla编译、QScintilla安装(Windows、Linux、MacOS环境下编译、安装)_linux下qscintilla的编译-CSDN博客
3、QCA编译、QCA安装(Windows、Linux、MacOS环境下编译、安装):
QGIS编译(跨平台编译)之五十七:QCA编译、QCA安装(Windows、Linux、MacOS环境下编译、安装)_qca com,vdev,node-CSDN博客
4、qtkeychain编译、qtkeychain安装(Windows、Linux、MacOS环境下编译、安装):
QGIS编译(跨平台编译)之五十八:qtkeychain编译、qtkeychain安装(Windows、Linux、MacOS环境下编译、安装)-CSDN博客
四、跨平台编译QGIS
1、QGIS在Windows(Visual Studio 2019)环境下编译:
QGIS编译(跨平台编译)之六十五:QGIS在Windows(Visual Studio 2019)环境下编译_qgis vs2019 编译-CSDN博客
2、QGIS在Linux环境下编译:
QGIS编译(跨平台编译)之六十六:QGIS在Linux环境下编译_linux下qgis编译-CSDN博客
3、QGIS在MacOS环境下编译:
QGIS编译(跨平台编译)之六十七:QGIS在MacOS环境下编译_mac 编译 qgis-CSDN博客
五、相关错误处理
1、QGIS在Windows(Visual Studio 2019)环境下的错误处理:QGIS编译(跨平台编译)之四十八:QGIS在Windows(Visual Studio 2019)环境下的错误处理_翰墨之道的博客-CSDN博客
2、QGIS在Linux环境下编译的错误处理:QGIS编译(跨平台编译)之五十:QGIS在Linux环境下编译的错误处理_翰墨之道的博客-CSDN博客_linux qgis
3、QGIS在MacOS环境下编译的错误处理:QGIS编译(跨平台编译)之五十二:QGIS在MacOS环境下编译的错误处理_翰墨之道的博客-CSDN博客_qgis 融合报错
4、qgis_core库在Qt Creator环境下编译的错误处理:QGIS编译(跨平台编译)之五十三:qgis_core库在Qt Creator环境下编译的错误处理_翰墨之道的博客-CSDN博客
5、qgis_core库在Linux MacOS QtCreator环境下编译的错误处理:QGIS编译(跨平台编译)之五十三:qgis_core库在Linux MacOS QtCreator环境下编译的错误处理_翰墨之道的博客-CSDN博客
6、qgis_native库在Qt Creator环境下编译的错误处理:QGIS编译(跨平台编译)之五十四:qgis_native库在Qt Creator环境下编译的错误处理_翰墨之道的博客-CSDN博客
7、qgis_analysis库在Qt Creator环境下编译的错误处理:QGIS编译(跨平台编译)之五十五:qgis_analysis库在Qt Creator环境下编译的错误处理_翰墨之道的博客-CSDN博客
8、qgis_gui库在Qt Creator环境下编译的错误处理:QGIS编译(跨平台编译)之五十七:qgis_gui库在Qt Creator环境下编译的错误处理_翰墨之道的博客-CSDN博客
9、qgis_app库在Qt Creator环境下编译的错误处理:QGIS编译(跨平台编译)之六十:qgis_app库在Qt Creator环境下编译的错误处理_翰墨之道的博客-CSDN博客
六、Qt Pro文件组装
1、Qt Creator环境下qgis_core库的pro文件:QGIS编译(跨平台编译)之五十三:Qt Creator环境下qgis_core库的pro文件_翰墨之道的博客-CSDN博客
2、Qt Creator环境下qgis_native库的pro文件:QGIS编译(跨平台编译)之五十四:Qt Creator环境下qgis_native库的pro文件_翰墨之道的博客-CSDN博客
3、Qt Creator环境下qgis_analysis库的pro文件:QGIS编译(跨平台编译)之五十五:Qt Creator环境下qgis_analysis库的pro文件_翰墨之道的博客-CSDN博客
4、Qt Creator环境下qgis_3d库的pro文件:QGIS编译(跨平台编译)之五十六:Qt Creator环境下qgis_3d库的pro文件_翰墨之道的博客-CSDN博客
5、Qt Creator环境下qgis_gui库的pro文件:QGIS编译(跨平台编译)之五十七:Qt Creator环境下qgis_gui库的pro文件_翰墨之道的博客-CSDN博客
6、Qt Creator环境下libdxfrw库的pro文件:QGIS编译(跨平台编译)之五十八:Qt Creator环境下libdxfrw库的pro文件_翰墨之道的博客-CSDN博客
7、Qt Creator环境下qgispython库的pro文件:QGIS编译(跨平台编译)之五十九:Qt Creator环境下qgispython库的pro文件_翰墨之道的博客-CSDN博客_libqt5network.so
8、Qt Creator环境下qgis_app库的pro文件:QGIS编译(跨平台编译)之六十:Qt Creator环境下qgis_app库的pro文件_翰墨之道的博客-CSDN博客
9、Qt Creator环境下qgis程序的pro文件:QGIS编译(跨平台编译)之六十一:Qt Creator环境下qgis程序的pro文件_翰墨之道的博客-CSDN博客