小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

QGIS編譯 3.14.6+win10+vs2015

 LZS2851 2021-07-22

概述

整體步驟是根據(jù)官方的安裝指南來完成,因為安裝指南比較簡略,并且還存在一些瑕疵,導(dǎo)致完全根據(jù)官方指南自己編譯會出不少問題。官網(wǎng)詳情:https://github.com/qgis/QGIS/blob/release-3_14/INSTALL.md
在此詳細(xì)描述一下具體做法。

安裝過程

我會粘貼進(jìn)部分官方的編譯指南(英語部分)
下載vs2015社區(qū)版本,這個是在線安裝的版本,裝完大概需要8.1G硬盤空間,盡量安裝在默認(rèn)路徑,反正我沒改。

下載VS2015并安裝

4.1.1. Visual Studio 2015 Community Edition

http://download.microsoft.com/download/D/2/3/D23F4D0F-BA2D-4600-8725-6CCECEA05196/vs_community_ENU.exe

安裝時選擇自定義安裝,需要勾選一下兩項
Select “Custom” install and add the following packages:
·“Common Tools for Visual C++ 2015” under “Visual C++”
·“Tools (1.4.1) and Windows 10 SDK (10.0.14393)” under “Universal Windows App Development Tools”.

需要確認(rèn)10.0.14393已經(jīng)裝好,不然后面的腳本會出錯
方法:在這里能找到 C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0

下載其他工具

4.1.2. Other tools and dependencies

Download and install following packages:

CMake
https:///files/v3.12/cmake-3.12.3-win64-x64.msi

用于安裝 flex和bison的 cygwin
http:///setup-x86.exe (32bit) or
http:///setup-x86_64.exe (64bit)

OSGeo4W
http://download./osgeo4w/osgeo4w-setup-x86.exe (32bit) or http://download./osgeo4w/osgeo4w-setup-x86_64.exe (64bit)

ninja
https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip

通過cygwin安裝flex和bison

通過cygwin安裝以下兩個包,git完全可以不安裝。

·bison
·flex
安裝過程如下
打開后,install from Internet-> 按照默認(rèn)路徑,就在c:\cygwin64 下面,不要改,后面一直下一步

一定要選擇版本,一般選擇最新的版本就好了,選擇好后先等等點(diǎn)下一步,然后繼續(xù)搜索bison

之后再點(diǎn)擊下一步,進(jìn)入安裝,時間有些長

通過OSGeo4W 安裝依賴包

下面是通過OSGeo4W 來安裝qgis的依賴包括qt,python等等一些列的包
在這里插入圖片描述
第一步選擇高級安裝,下面都是默認(rèn)的,特別是安裝路徑C:\OSGeo4W64不要修改,后面的腳本都是訪問這個位置,修改了這個位置,后面的官方腳本也要改。同樣的方法安裝
qgis-dev-deps
官方給出的是這個qgis-rel-deps 我按照這個試了幾次都不行,改為qgis-dev-deps才行,這一步很重要。之前這個坑踩得深啊,不過你們也能試試看,選擇rel版本到底行不行。
這個是在線下載,耗時也不少,數(shù)據(jù)大概接近1G

復(fù)制ninja

ninja: copy ninja.exe to C:\OSGeo4W64\bin
把下載的ninja拷貝到 C:\OSGeo4W64\bin\

下載QGIS源碼包

下面是下載QGIS的源碼包,不需要通過git來下載,git下載的是沒有壓縮過的,數(shù)據(jù)大概有2G,也比較慢,直接到github上面下載你想要的版本,目前最新的是3.14.6
https://github.com/qgis/QGIS/tree/release-3_14
然后解壓為qgis文件夾,放到C:\OSGeo4W64目錄下

設(shè)置環(huán)境變量

下面就開始進(jìn)入到批操作的環(huán)節(jié)了
在C:\OSGeo4W64下面,新建一個bat文件(文本文件改后綴名),

@echo off
call C:\OSGeo4W64\QGIS\ms-windows\osgeo4w\msvc-env.bat x86_64
@cmd

將以上內(nèi)容復(fù)制進(jìn)去,保存為 OSGeo4W-dev.bat
即此文在 C:\OSGeo4W64\OSGeo4W-dev.bat 這里

雙擊運(yùn)行,這個是用于設(shè)置環(huán)境變量之類的,正常運(yùn)行時不會報錯的,有報錯又要仔細(xì)看看報錯內(nèi)容。

通過命令行使用CMake 生成msvc的解決方案文件

下面開始通過命令行來cmake了
We will be using the file ms-windows/osgeo4w/configonly.bat to create an MSVC solution file。

 cd C:\OSGeo4W64\QGIS\ms-windows\osgeo4w

 configonly.bat

進(jìn)入C:\OSGeo4W64\QGIS\ms-windows\osgeo4w目錄,運(yùn)行configonly.bat
這個過程極易出錯,如果前面使用的是官方給的qgis-rel-deps,這邊就報了很多錯誤,但是使用qgis-dev-deps,就沒錯誤了。正常以上軟件按照默認(rèn)的安裝位置安裝,不會出錯。如果出錯,可能就是環(huán)境變量沒有設(shè)置好,環(huán)境變量PATH里加入如下幾個

應(yīng)該就不會出現(xiàn)什么問題了。
如果一切正常,大概運(yùn)行快3分鐘,顯示內(nèi)容如下

C:\OSGeo4W64\qgis\ms-windows\osgeo4w>    configonly.bat
BEGIN: 2020/09/26 周六 21:13:00.60
CMAKE: 2020/09/26 周六 21:13:01.08
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done-- Detecting C compile features
-- Detecting C compile features - done-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done-- Detecting CXX compile features
-- Detecting CXX compile features - done-- QGIS version: 3.14.16 Pi (31416)-- Looking for CL_VERSION_2_2
-- Looking for CL_VERSION_2_2 - found
-- Found OpenCL: C:/OSGeo4W64/lib/opencl.lib (found version "2.2")-- Found OpenCL C++ headers: C:/OSGeo4W64/include
-- Found GRASS 7: C:/OSGEO4~2/apps/grass/grass78 (7.8.3, off_t size = 8)-- Found Proj: C:/OSGeo4W64/apps/proj-dev/lib/proj.lib version 7 (7.2.0)-- Found GEOS: C:/OSGeo4W64/lib/geos_c.lib (3.8.1)-- Found GDAL: C:/OSGeo4W64/apps/gdal-dev/lib/gdal_i.lib (3.2.0dev)-- Found Expat: C:/OSGeo4W64/lib/expat.lib
-- Found Spatialindex: C:/OSGeo4W64/lib/spatialindex-64.lib
-- Found Qwt: C:/OSGeo4W64/apps/Qt5/lib/qwt.lib (6.1.3)-- Found LibZip: C:/OSGeo4W64/lib/zip.lib
-- Found libzip: C:/OSGeo4W64/lib/zip.lib
-- Found Sqlite3: C:/OSGeo4W64/lib/sqlite3_i.lib
-- Found Protobuf: C:/OSGeo4W64/lib/libprotobuf.lib (found version "3.11.4")-- Found Protobuf: C:/OSGeo4W64/lib/libprotobuf.lib
-- Found ZLIB: C:/OSGeo4W64/lib/zlib.lib (found version "1.2.8")-- Found zlib: C:/OSGeo4W64/lib/zlib.lib
-- Found PostgreSQL: C:/OSGeo4W64/lib/libpq.lib
-- Found SpatiaLite: C:/OSGeo4W64/lib/spatialite_i.lib
-- Qt WebKit support enabled
-- Found Qt version: 5.11.2
-- Found QScintilla2: C:/OSGeo4W64/apps/Qt5/lib/qscintilla2.lib (2.10.8)-- Found QtKeychain: C:/OSGeo4W64/apps/Qt5/lib/qt5keychain.lib
-- Found QCA: C:\OSGEO4~2\apps\Qt5\lib\qca-qt5.lib (2.1.3)-- Pedantic compiler settings enabled
-- Debug output enabled
-- Found GSL: C:/OSGeo4W64/lib/gsl.lib;C:/OSGeo4W64/lib/cblas.lib
-- Found PythonInterp: C:/OSGeo4W64/bin/python3.exe (found suitable version "3.7", minimum required is "3")-- Found Python executable: C:/OSGeo4W64/bin/python3.exe
-- Found Python version: 3.7.0
-- Found Python library: C:/OSGeo4W64/apps/Python37/libs/python37.lib
-- Found Python site-packages: C:/OSGEO4~2/apps/Python37/Lib/site-packages
-- Found PyQt5 version: 5.11.3
-- Found SIP version: 4.19.14
-- Found QScintilla2 PyQt module: 2.10.8
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Success
-- Found exiv2: C:/OSGeo4W64/lib/exiv2.lib
-- Found HDF5: hdf5::hdf5-shared (found version "1.10.4")-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)-- Found NetCDF: C:/OSGeo4W64/lib/netcdf.lib
-- Found LibXml2: C:/OSGeo4W64/lib/libxml2.lib (found version "2.9.1")-- Found OCI: C:/OSGeo4W64/lib/oci.lib
-- Found FCGI: C:/OSGeo4W64/lib/libfcgi.lib
-- Using PROJ >= 6 srs database.
-- Ctest Binary Directory set to: C:/OSGeo4W64/qgis/ms-windows/osgeo4w/build-qgis-test-x86_64/output/bin
-- Configuring done-- Generating doneCMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS
    QT_HEADERS_DIR


-- Build files have been written to: C:/OSGeo4W64/qgis/ms-windows/osgeo4w/build-qgis-test-x86_64
Exiting after configuring build directory: C:\OSGeo4W64\qgis\ms-windows\osgeo4w\build-qgis-test-x86_64
FINISHED: 2020/09/26 周六 21:16:20.64

使用msvc來編譯QGIS

下面開始使用msvc來編譯
Compiling QGIS with MSVC:
We will need to run MSVC with all the environment variables set, thus we will run it as follows: Run the batch file OSGeo4W-dev.bat you created before. On the command prompt run

call gdal-dev-env.bat

to add the release gdal and proj libraries to your PATH. On the command prompt run

devenv

to open MSVC. From MSVC, open the solution file C:\OSGeo4W64\QGIS\ms-windows\osgeo4w\build-qgis-test-x86_64\qgis.sln. Try to build the solution (go grab a cup of tea, it may take a while). If it fails, run it again and again until there are (hopefully) no errors.

在命令行中首先運(yùn)行之前的C:\OSGeo4W64\OSGeo4W-dev.bat ,然后接著輸入 call gdal-dev-env.bat,這也是在設(shè)置環(huán)境變量。

然后在當(dāng)前命令行中輸入 devenv,打開msvc,然后從以下目錄打開工程C:\OSGeo4W64\QGIS\ms-windows\osgeo4w\build-qgis-test-x86_64\qgis.sln

因為項目比較大,所以載入需要很長一段時間,里面大概有501個項目。

編譯步驟比較重要,
編譯順序,qgis_core -> qgis_gui -> qgis_app -> qgis -> ALL_BUILD。
方法:選定一個項目,右鍵–>設(shè)置為活動項目,然后在右鍵–>生成

編譯qgis_core 大約一個半小時,qgis_gui 大概一個多小時
剩下的大概也有一個半小時吧

編譯完成后,所有生成的文件會在C:\OSGeo4W64\qgis\ms-windows\osgeo4w\build-qgis-test-x86_64\output\bin\RelWithDebInfo這個路徑下面。
在這里插入圖片描述

運(yùn)行QGIS

如果想要在msvc外面運(yùn)行QGIS,按照如下做法
在 C:\OSGeo4W64\qgis\ms-windows\osgeo4w\build-qgis-test-x86_64\output\bin\RelWithDebInfo 目錄下新建一個文本文件,改名為 qgis_run.bat。使用記事本編輯,將下面的代碼粘貼進(jìn)去。

@echo off
call C:\OSGeo4W64\QGIS\ms-windows\osgeo4w\msvc-env.bat x86_64
call gdal-dev-env.bat
@cmd
start qgis.exe

雙擊 qgis_run.bat,在跳出來的命令行后再輸入qgis.exe,即可打開。

調(diào)試QGIS

在msvc下調(diào)試時,先把qgis設(shè)置為活動項目(右鍵這個項目,選擇設(shè)置為活動項目),然后點(diǎn)擊 local windows debugger,或者菜單欄上Debug->start without Debugging。就能調(diào)試運(yùn)行了。
在這里插入圖片描述
注意:
如果想再次打開vs,調(diào)試qgis項目時,如果直接打開vs,在打開qgis項目是會出問題的,因為缺少相關(guān)環(huán)境變量的設(shè)置,會方便的辦法是,新建一個bat文件,將環(huán)境變量的設(shè)置寫進(jìn)去,具體如下:
@echo off
call C:\OSGeo4W64\QGIS\ms-windows\osgeo4w\msvc-env.bat x86_64
@echo on
call gdal-dev-env.bat
start devenv

bat文件的內(nèi)容如上,然后雙擊這個bat文件來打開vs,再打開qgis項目應(yīng)該就沒問題了

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多