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自行嘗試),也可以修改環境變量,但是筆者爲了不影響整臺電腦的其他環境,不添加系統環境變量。
  在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章