• QGIS开发笔记(二):Windows安装版二次开发环境搭建(上):安装OSGeo4W运行依赖其Qt的基础环境Demo


    前言

      使用QGis的目的是进行二次开发,或者说是融入我们的应用(无人车、无人船、无人机),本片描述搭建QGis二次基础开发环境,由于实在是太长了,进行了分篇:

    • 上半部分:主要是安装好后,使用QtCreator可以使用QGIs的apps下的Qt使用对应的编译器编译不带qgis的空工程。
    • 下半部分:在上半部分基础上添加qgis的依赖,并实现一个qgis的完全独立模模块化的应用,让没有安装qgis库的使用工程模板可以开始二次开发编译。
     

    Demo

      空demo
      在这里插入图片描述

      运行qgis的demo
      请添加图片描述

     

    注意1:注意IDE

      基于Qtcreator,所以搭建QtCreator的IDE模块化QGIS基础环境,后续qmake的加载看出使用的msvc2017x64的库,没有的话请安装vs2017x64的msvc编译器
      在这里插入图片描述

     

    注意2:本次安装途径与直接安装文件不同

      这与直接通过下载QGIs的安装文件下载文件是不同的:
      在这里插入图片描述

     

    注意3:本途径安装已经指定了使用的Qt版本和QtSdk

      在这里插入图片描述

     

    Windows上部署QGis二次开发环境

    步骤一:下载安装OSGeo4W安装文件

      在这里插入图片描述

      

    步骤二:安装OSGeo4W

      在这里插入图片描述

      点击安装:
      在这里插入图片描述

      选择自定义安装:
      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      下面这个界面宣布选择开始菜单都会有,直接下一步:
      在这里插入图片描述

      在这里插入图片描述

      选择第一个挺快的,尝试过其他国内源无法连接上:
      在这里插入图片描述

      输入qgis-ltr,这代表帅选qgis的最新版本,这里显示是3.34,外面直接下的是3.36
      在这里插入图片描述

      在这里插入图片描述

      都同意下一步,最后开始下载:
      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      检查一下:
      在这里插入图片描述

      最新的稳定发布版本,检查一下:
      在这里插入图片描述

      在这里插入图片描述

    步骤三:打开QtCreator配置qmake编译器

      Qt5.15.x版本默认使用QtCreator6.x,但是我们先使用Qt5.9.3带的QtCreator为4.4.1。
      在这里插入图片描述

      暂时也不知道lib是哪个msvc版本的,但是添加qmake就知道了,往下走:
      在这里插入图片描述

      在这里插入图片描述

      知道了msvc2017x64版本,就要配置编译器了,本机已经安装了vs系列,并且安装了msvc2017x64版本,无需配置,配置页面如下:

    步骤四:新构建套件QGis3.34.7_Qt5.15.13_msvc2017x64

      注意名称、编译器(vs2017x64是msvc2017x64是v15版本)和qmake的版本选择,配置通过则会是黄色惊叹号,构建套没有问题。(构建套有问题则会是红色,无法编译使用。)
      在这里插入图片描述

    步骤五:新建一个测试空工程检测Qt配置

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      查看“入坑一:jom编译错误”解决,然后继续:
      在这里插入图片描述

      查看“入坑二:编译uic.exe错误代码0xc0000135”解决,然后继续:
      在这里插入图片描述

      至此,在QtCreator使用QGIs带的QtSdk成功。

     

    入坑

    入坑一:jom编译错误

    问题

      Jom编译错误
      在这里插入图片描述

    原理

      使用nmake,不使用jon

    解决

      在这里插入图片描述

    入坑二:编译uic.exe错误代码”0xc0000135”

    问题

      在这里插入图片描述

    过程

      有些库无法调用到所以无法启动,使用cmd查看一番:
      在这里插入图片描述

      在这里插入图片描述

      在这里插入图片描述

      这些库本身还依赖了一些,拷贝过去缺失的继续cmd会提示,这里不一一列出了。
      搜索后得到:
      在这里插入图片描述

      在这里插入图片描述

      所以,Qt编译运行环境需要包含OSGeo4W的bin下(可以推断:对应的库也可能需要包含OSGeo4W的lib路径)。

    解决

      在这里插入图片描述

      这里直接复制缺少的几个库到Qt的bin下(有可能没列全,请使用cmd自行尝试),也可以修改环境变量,但是笔者为了不影响整台电脑的其他环境,不添加系统环境变量。
      在这里插入图片描述

  • 相关阅读:
    java mvn install导致RELEASE包不同环境不一致导致依赖冲突
    java_springboot水果购物商城销售管理系统
    Git 我配置了ssh key,还是报错让我输入密码
    MXNet对含隐藏状态的循环神经网络(RNN)的实现
    使用PHP查询字符串能绕过waf吗
    PMP干货教你一秒选对PMP考试答案!
    【Unity基础】5.动画曲线
    Docker运行docker中指定一个jar
    Kibana生产上的常用功能总结
    Docker原理详细剖析-Namespace
  • 原文地址:https://www.cnblogs.com/qq21497936/p/18207725