当前位置:   article > 正文

QT+QGIS跨平台编译(基于Qt,采用一套代码、一套框架,完成QGIS第三方库、核心库、应用程序的跨平台编译)_在windows上编译出linux可执行的qt程序

在windows上编译出linux可执行的qt程序

一、说明

本专栏采用Qt,实现QGIS依赖库,以及QGIS运行库执行程序的跨平台编译。具体而言,采用Qt CreatorIDE环境,通过配置pro文件,进行所有库和文件的跨平台编译。
在这里插入图片描述

Qt Creator本身是跨平台的,可以在多个操作系统上使用,例如Windows、macOS和Linux等。它提供了一致的开发体验,无论在哪个平台上使用都能够进行Qt应用程序的开发。

在编译Qt应用程序时,Qt Creator支持多种构建工具和编译器,以适应不同平台的需求。其中最常用的是Qt自带的构建工具qmake和qbs,以及常见的编译器如GCC和Clang等。通过配置项目的构建设置,可以选择合适的构建工具和编译器,并指定目标平台和体系结构等参数。

Qt Creator还提供了一键式的构建和部署功能,可以方便地将应用程序编译为可执行文件或安装包,并在不同平台上进行测试和发布。开发者只需在Qt Creator中设置好相关选项,然后点击构建按钮即可完成编译和部署过程。

总的来说,Qt Creator作为一款跨平台的IDE,提供了丰富的工具和选项,使得Qt应用程序的跨平台编译变得更加便捷和高效。

因此,运用Qt Creator可较好地实现一套代码一套框架的QGIS跨平台编译。
在这里插入图片描述


二、环境安装与配置

1、Flex、Bison编译(安装)(Windows、Linux、MacOS环境下安装):
【Qt+QGIS跨平台编译】之一:Flex、Bison编译(安装)(Windows、Linux、MacOS环境下安装)

2、CMake跨平台安装(Windows、Linux、MacOS环境下安装):
【Qt+QGIS跨平台编译】之二:CMake跨平台安装(Windows、Linux、MacOS环境下安装)

3、Python跨平台安装(Windows、Linux、MacOS环境下安装):
【Qt+QGIS跨平台编译】之三:Python跨平台安装(Windows、Linux、MacOS环境下安装)

4、SIP安装(Windows、Linux、MacOS环境下安装):
【Qt+QGIS跨平台编译】之四:SIP安装(Windows、Linux、MacOS环境下安装)

5、PyQT安装(Windows、Linux、MacOS环境下安装):
【Qt+QGIS跨平台编译】之五:PyQT安装(Windows、Linux、MacOS环境下安装)

6、PostgreSQL安装(Windows、Linux、MacOS环境下安装):
【Qt+QGIS跨平台编译】之六:PostgreSQL安装(Windows、Linux、MacOS环境下安装)

7、GrassGIS安装(Windows、Linux、MacOS环境下编译):
【Qt+QGIS跨平台编译】之七:GrassGIS安装(Windows、Linux、MacOS环境下编译)

8、PyQt-builder安装(Windows、Linux、MacOS环境下安装):
【Qt+QGIS跨平台编译】之八:PyQt-builder安装(Windows、Linux、MacOS环境下安装)

9、Linux环境下安装Python、pyqt5、pyqt5-tools等:
【Qt+QGIS跨平台编译】之九:Linux环境下安装Python、pyqt5、pyqt5-tools等

10、MacOS环境下安装Python、pyqt5、pyqt5-tools等:
【Qt+QGIS跨平台编译】之十:MacOS环境下安装Python、pyqt5、pyqt5-tools等


三、第三方库编译

1、【QT+QGIS跨平台编译】之一:【sqlite+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【sqlite+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

2、【QT+QGIS跨平台编译】之二:【zlib+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【zlib+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

3、【QT+QGIS跨平台编译】之三:【OpenSSL+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【OpenSSL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

4、【QT+QGIS跨平台编译】之四:【libSSH2+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【libSSH2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

5、【QT+QGIS跨平台编译】之五:【curl+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【curl+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

6、【QT+QGIS跨平台编译】之六:【LZMA+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【LZMA+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

7、【QT+QGIS跨平台编译】之七:【libjpeg+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【libjpeg+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

8、【QT+QGIS跨平台编译】之八:【zstd+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【zstd+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

9、【QT+QGIS跨平台编译】之九:【LZ4+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【LZ4+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

10、【QT+QGIS跨平台编译】之十:【libbz2+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【libbz2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

11、【QT+QGIS跨平台编译】之十一:【libzip+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【libzip+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

12、【QT+QGIS跨平台编译】之十二:【libpng+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【libpng+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

13、【QT+QGIS跨平台编译】之十三:【giflib+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【giflib+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

14、【QT+QGIS跨平台编译】之十四:【webp+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【webp+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

15、【QT+QGIS跨平台编译】之十五:【libTiff+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【libTiff+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

16、【QT+QGIS跨平台编译】之十六:【OpenJPEG+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【OpenJPEG+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

17、【QT+QGIS跨平台编译】之十七:【iconv+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【iconv+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

18、【QT+QGIS跨平台编译】之十八:【Expat+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【Expat+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

19、【QT+QGIS跨平台编译】之十九:【libxml2+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【libxml2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

20、【QT+QGIS跨平台编译】之二十:【xerces+Qt跨平台编译】(一套代码、一套框架,跨平台编译):
【xerces+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

21、【QT+QGIS跨平台编译】之二十一:【freetype+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【freetype+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

22、【FontConfig+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十二:【FontConfig+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

23、【Proj+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十三:【Proj+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

24、【GeoTIFF+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十四:【GeoTIFF+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

25、【geos+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十五:【geos+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

26、【SpatialIndex+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十六:【SpatialIndex+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

27、【librttopo+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十七:【librttopo+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

28、【Protobuf+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十八:【Protobuf+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

29、【HDF5+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之二十九:【HDF5+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

30、【NetCDF+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十:【NetCDF+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

31、【FreeXL+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十一:【FreeXL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

32、【MiniZip+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十二:【MiniZip+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

33、【SpatiaLite+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十三:【SpatiaLite+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

34、【Pixman+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十四:【Pixman+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

35、【cairo+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十五:【cairo+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

36、【RasterLite2+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十六:【RasterLite2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

37、【Shapelib+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十七:【Shapelib+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

38、【GDAL+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十八:【GDAL+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

39、【Exiv2+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之三十九:【Exiv2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

40、【gsl+Qt跨平台编译】(一套代码、一套框架,跨平台编译):

【QT+QGIS跨平台编译】之四十:【gsl+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/95249
推荐阅读
相关标签
  

闽ICP备14008679号