1. 程式人生 > >QGIS2.18.4+QT5.7.1+VS2015編譯方法

QGIS2.18.4+QT5.7.1+VS2015編譯方法

1.安裝QT

我安裝的QT 版本是:qt-opensource-windows-x86-msvc2015_64-5.7.1.exe

2.安裝VS2015 與QT Addin

3.下載並安裝以下工具軟體

下載並安裝以下軟體包:

OSGeo4W不僅為當前的QGIS發行版提供了準備好的軟體包,而且還為每個主機的夜間構建提供了可用的軟體包,同時也提供了構建它的大部分依賴關係。如果使用者要要編譯32位的QGIS請用32位的OSGeo4w下載,如果使用者要要編譯64位的QGIS請用64位的OSGeo4w。32位的在下載時會下載32位的依賴庫,64位的在下載時會下載64位的依賴庫。

對於QGIS構建,您需要從cygwin安裝以下軟體包:

  • bison
  • flex
  • git

注:

  • flex和 bison可以從cygwin下載,但是要注意32位還是64位,32位的在下載時會下載32位的,64位的在下載時會下載64位的。安裝地址不要帶空格和中文。也可以從我提供的以下的連結直接下載解壓:
  • git可以不用下載,這個主要是用來下載QGIS原始碼包的,下載QGIS原始碼包我們要以從官網上下載。

和OSGeo4W(選擇Advanced Installation):

  • expat
  • fcgi
  • gdal
  • grass
  • gsl-devel
  • iconv
  • libspatialindex-devel
  • pyqt5
  • python3-devel
  • python3-qscintilla
  • python3-nose2
  • python3-future
  • python3-pyyaml
  • python3-mock
  • qca-qt5-devel
  • qca-qt5-libs
  • qscintilla-qt5
  • qt5-devel
  • qt5-libs-debug
  • qtwebkit-qt5-devel
  • qtwebkit-qt5-libs-debug
  • qwt-devel-qt5
  • sip-qt5
  • spatialite

這也可以選擇上述軟體包所依賴的軟體包。要注意的是,上述所有的軟體包或依賴不能有空格或中文。

4. 使用CMake設定並構建Visual Studio專案

要啟動具有VC ++和OSGeo4W變數的環境的命令提示符,將建立以下批處理檔案(假定上述包安裝在預設位置):

@echo off
set VS140COMNTOOLS=%PROGRAMFILES%\Microsoft Visual Studio 14.0\Common7\Tools\
call "%PROGRAMFILES%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86

set INCLUDE=%INCLUDE%;%PROGRAMFILES%\Microsoft SDKs\Windows\v7.1A\include
set LIB=%LIB%;%PROGRAMFILES%\Microsoft SDKs\Windows\v7.1A\lib

set OSGEO4W_ROOT=C:\OSGeo4W
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
path %PATH%;%PROGRAMFILES%\CMake\bin;c:\cygwin\bin

@set GRASS_PREFIX=c:/OSGeo4W/apps/grass/grass-6.4.4
@set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\include
@set LIB=%LIB%;%OSGEO4W_ROOT%\lib;%OSGEO4W_ROOT%\lib

@cmd

將上述命令放入一個文字檔案內,並將字尾改為“.bat“,然後以”管理員許可權執行“!在執行bat後,有可能會執行不成功,那我們可以通過手動設定各個環境變數的方式進行設定。(我也是這麼做的)。

在某個地方建立一個“build”目錄。這將是生成所有構建輸出的位置。

找到CMake的安裝目錄,以管理員的方式執行"cmake-gui.exe",然後設定qgis原始碼包的目錄和專案的構建目錄:點選“Configure ”啟動配置並選擇VisualStudio 14 2015/VisualStudio 14 2015 X64並保留本機編譯器,然後單擊完成。

Configure ”過程中,可能會出現配置不正常的專案,如果某個依賴項沒有連結到,請手動選擇連結目錄。以下是我的配置資訊,供您參考:






配置到“Configuring done",然後點選“Generate" 生成VS2015的專案解決方案,直到“Generating done”,然後在專案目錄中開啟qgis-x.y.z.sln檔案。在使用ALL_BUILD目標構建QGIS之前,將Debug中的解決方案配置更改為RelWithDebInfo(釋出除錯資訊)或Release(否則需要不包括的除錯庫)。

構建過程中可能會出現無法連結的錯誤,錯誤資訊出現在proj.lib庫中,我分析的主要原因可能是,下載的proj.lib不正常。所以我們需要自己生成proj4的庫,生成方法請檢視我的部落格:http://blog.csdn.net/octdream/article/details/71307943

生成proj4後,將生的proj4的lib,include,dll覆蓋OSGEO4W的對應的庫檔案(include,bin,lib)。

在構建過程中可能會出現“找不到EXPAT.H"檔案的問題,我們只需要手動更改"EXPAT.H"所在的絕對路徑就可以。


在構建過程中會出現如下錯誤無法解析的外部符號[email protected]


解決方法是:選中該專案 然後 右鍵 -> 屬性 -> 連結器->高階 -> 入口點 加入 mainCRTStartup

需要修改的工程包括:qgis,qgis_bench,qbrowser,qgis_help

最後再次生解決方案,完美生成整個專案。

如果出現其它問題,或有什麼錯誤歡迎留言指正,謝謝!!!

相關推薦

QGIS2.18.4+QT5.7.1+VS2015編譯方法

1.安裝QT 我安裝的QT 版本是:qt-opensource-windows-x86-msvc2015_64-5.7.1.exe 2.安裝VS2015 與QT Addin 3.下載並安裝以下工具軟體 下載並安裝以下軟體包: OSGeo4W不僅為當前的QGIS

Win10 qwtplot3d +qt5.7.1+vs2015 編譯方法

1.下載QWTPLOT3D原始碼 百度雲盤:http://pan.baidu.com/s/1nuXOlrr 密碼:usye 2.解壓qwtplot3d-0.2.7.zip至安裝目錄,例如:c:\qwtplot3d  我的目錄在:D:\QWT_PRJ\qwtplot3d 3.

windows下QT5.7.1如何編譯MQTT客戶端

本文主要講述在windows平臺下QT5.7.1如何編譯MQTT客戶端,讓大家避免我走過的一些彎路。具體MQTT的使用後續會進行更新。 一. 下載原始碼 一般需要在github或者其它地方下載MQTT客戶端的原始碼,一般都可以下到,這裡附上鍊接: https://github.co

vs2015靜態編譯Qt5.7.1及使用

2.下載並安裝Python; 3.下載並安裝Perl; 注意:① 安裝Python,Perl 時要注意勾選新增環境變數到系統。            ② 檢測三個環境是否安裝好,開啟cmd視窗

Qt5.7.1 樹莓派3B+ 2016-09-23-raspbian-jessie.img 交叉編譯 ubuntu16.04

官方教程: https://wiki.qt.io/RaspberryPi2EGLFS 中文提示: http://blog.csdn.net/a_power/article/details/52809728 需要用到的工具列表: tools工具: https://gi

vs2015配置qt5.7.1

由於專案需求,環境轉到了windows下,並且要進行聯合開發。。。記錄下心路歷程 1.安裝vs2015 這個沒有什麼好講的,網址在這http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB4

vs2015配置pcl1.8.1qt5.7.1

恩。。。之前的三個軟體都已經裝好了,具體可以見之前的文章,現在是想要在qt中顯示點雲,但是pcl的vtk並沒有,所以需要自己編譯。vtk8.0的連結在這https://gitlab.kitware.com/vtk/vtk/tree/v8.0.0  將下載好的VTK-8.0解壓

Qt5.7.1-mingw530_32與opencv在win7 64位下編譯環境的搭建

版本 Qt版本:qt-opensource-windows-x86-mingw530-5.7.1 opencv版本:opencv-3.2.0-vc14 系統:win7 64位 CMake:cmake-3.8.0-rc2-win64-x64 由於原

ubuntu 16.04 + Qt5.7.1+VTK6.3.0 + opencv2.4.13-viz(3D視覺化)安裝教程

ubuntu 16.04 + Qt5.7.1+VTK6.3.0 + opencv2.4.13-viz(3D視覺化)安裝教程 This section describes 3D visu

QGIS(PYTHON3.5、QT5.7.1、QGIS3)系列二次開發環境

qgis c++ python 二次開發 QGIS(PYTHON3.5、QT5.7.1、QGIS3系列二次開發環境,所有環境以虛擬機方式提供,以便研究或直接使用。 具體包括:獨立應用二次開發環境(WINDOWS,LINUX);android二次開發;獨立應用PYTHON二次開發環境(WI

pycharm18.2.4 + Python3.7.1 安裝salt報錯python pip install salt: Command "python setup.py egg_info" failed with error code 10 及解決方法

最近在使用Python3.7.1 + pycharm + salt編寫程式中需要用到salt模組,但是在pycharm中使用pip install salt 安裝時出現錯誤:   1、提示需要 microsoft visual c++ 14.0     解決方法:可以去官網http://land

windows 為qt5.7.1 安裝openssl

本人使用qt5.7.1+msvc2015寫一個https的客戶端程式,但是用到解析https協議時,報出如下錯誤 qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method qt.network.ssl:

vs2013下使用QT5.7.1靜態庫

1. 下載靜態庫檔案,由於編譯相對較麻煩,我選擇從網上下載別人編譯好的 下載地址: https://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/ 注意:這個地址國內還沒法訪問,我是申請了一個阿里雲香港的伺服器才下載到的,無法下載又

關於python3.7.1編譯時的問題 (持續跟新中)

一:不能編譯;連簡單的hello world 都不能輸出,這個需要加上括號 這是正解 再來看一個反面的例子: 就是因為沒有加括號導致輸出不了,原因我也不知道,可能是因為版本的問題吧

pycharm18.2.4 + Python3.7.1 安裝salt報錯python pip install salt: Command "python setup.py egg_info" failed with error code 10 及解決方法

最近在使用Python3.7.1 + pycharm + salt編寫程式中需要用到salt模組,但是在pycharm中使用pip install salt 安裝時出現錯誤:   1、提示需要 microsoft visual c++ 14.0   2、安裝完成後出現 安裝saltstack報錯 Comm

Windows下Qt5.9.1原始碼編譯

(預設 PREFIX/demos); 14】-buildkey : 通過指定的key生成QT庫和外掛; 15】-release :此選項在編譯過程QT會對程式進行優化,在釋出軟體的時候應該用此選項,是預設選項; 16】-debug :加上此選項編譯程式QT不會做出優化,往往在開發過程使用此選項; 17】-

Qt5.9.1+VS2015環境搭建

1、軟體及工具下載安裝 QT5.9.1: 安裝時,記得把“msvc2015”和“msvc2015_64”安裝上(下圖中圈紅部分) VS2015 :安裝時,一定要選擇“visual c++”選項(下圖中圈紅部分) Qt VS Tools: 當安裝完VS

VS2013+Qt5.7.1呼叫第三方庫

描述:由於專案需求,需要呼叫第三方庫。手上的資料有,dll,lib,.h檔案。開發環境:VS2013+Qt5.7.1 理論上來說,直接用VS呼叫靜態庫方法既可以正常呼叫,最終結論也沒錯,但中間出現一些問題。如下圖: 檢查了,連結lib路徑無誤,然後用win32窗體程式呼叫

QT5.7.1+VS2013軟體開發環境配置

任務:完成Qt5.7.1載入到VS2013環境下,程式設計執行Qt應用程式,有詳細步驟,最後完成一個空白視窗UI執行顯示 1.基本配置 2.安裝Qt5.7.1 直接雙擊exe安裝,按照提示進行,很快就安裝完成,執行後介面如下: 3.安裝Qt載入到VS中外

QT5.7VS2015中的使用(3)

搭建好了介面部件,只是程式設計的開始,如何在應用程式中操控這些部件才是更重要。這篇博文將講解如何去操作介面上的widgets部件。 首先,我們要知道窗體的使用有兩種方式,編譯時和執行時,這裡我主要說明在編譯時的使用。 一、編譯時使用者介面處理 我們使用QT設計師編輯好介面後