1. 程式人生 > >編譯Qgis3.4.1

編譯Qgis3.4.1

1編譯環境準備

1.1 開發工具

VS2015、Qt5.9.2、cmake3.12.3

1.2 原始碼

Qgis3.4.1

第三方庫可以通過官網下載,但是有些第三方庫官網沒有需要自己下載編譯,這裡自己列出需要自己下載

以上幾個第三方庫需要自己編譯,因為在官方提供的庫中有的只有dll沒有lib,有的沒有找到;其次官網提供的庫只有release沒有debug版本,那怎樣編譯debug版本的程式那,其實大家都知道debug編譯可以使用release版本的庫,只是如果是帶UI的庫,必須使用debug版本,否則就算編譯通過了執行qgis會崩潰。

2 編譯過程

2.1 配置qgis工程

網上很多教程都是把qgis的cmake工程轉乘VS工程進行編譯,其實官方編譯文件也是這樣提供的,但是很多開發qt的小白兔都使用的是QtCreator這個優美的IDE,如果用VS編譯,除錯都不是很方便,如果能將CMake工程轉成Pro工程或者直接在QtCreator中直接編譯那就太棒了,其實QtCreator可以直接編譯cmake工程,配置也很簡單。配置過程點選這個連結(之前寫過的一個公眾號):

上述連線是編譯osg時的工程,當然編譯qgis一樣,唯一的區別時配置qgis比配置osg麻煩些。

第一步:先在QtCreator中配置CMAKE

第二步:在通過QtCreator開啟qgis3.4.1工程,此時可能無法開啟成功,但是沒事配置好輸出路徑即可。

第三步:通過cmake配置工具再次進行qgis3.4.1工程配置,但是輸出路徑必須和剛才QtCreator配置的輸出路徑一致(其實qtCreator已經將cmake配置過程整合到了QtCreator中只是沒有cmake-gui方便才再次使用cmake-gui進行配置)。

提示:在開啟cmake-gui.exe時不要直接雙擊開啟,通過命令列開啟(啟動依賴庫配置項這樣可以自動載入配置第三方庫,此方法讓你省去查詢第三方庫及標頭檔案真的很好),不清楚可以參考網上的一個博主連線:

https://blog.csdn.net/qq_34357717/article/details/81305084

配置完成後,再次在QtCreator中開啟qgis3.4.1工程,如下圖:

2.2編譯

編譯過程中遇到錯誤最多的時檔案編碼問題,官方下載的原始碼預設採用utf-8,很奇怪之前編譯其它版本都好好的,就是編譯此版本各種編碼問題,經過測試全部將.cpp檔案轉成了utf-8+BOM格式,編譯一路路燈。

3執行結果