Win10 + VS2017 + Qt5.9.9 + OSG/OSGEarth 環境搭建 - 基於 vcpkg


1.  安裝 VS2017

2.  安裝 Qt5.9.9

3.  安裝 Git

4.  安裝 Vcpkg

  4.1  獲取源碼

  4.2  編譯源碼

  4.3  集成 Visual Studio

5.  安裝 OSG/OSGEarth

  5.1  安裝依賴項

  5.2  導出/導入已安裝庫

  5.3  vcpkg 自動安裝 OSGEarth

  5.4  Visual Studio 手動編譯 OSGEarth

 

  以 vcpkg 跨平台 C++ 包安裝管理器,來進行 OSG/OSGEarth 環境搭建。

1. 安裝 VS2017

  vcpkg 目前只兼容 Visual Studio 2015 update 3 及以上版本,本次安裝使用的版本是 vs2017 社區版,各位根據自己需求安裝即可。

  注意:由於后續 vcpkg 需求,安裝時務必添加安裝 English 語言包;如果 VS 已安裝,未包含 English 語言包,請在工具 - 獲取工具和功能 - 修改 - 語言包中安裝。

2. 安裝 Qt5.9.9

  2.1  安裝 Qt

  各位根據自己需求下載安裝即可。

  官方網站:http://download.qt.io/,下載緩慢,可使用國內鏡像網站。

  鏡像網站:

  2.2  安裝 Qt_VS_Addin

  下載鏈接見 2.1 鏈接 archive 路徑下開發工具。

3. 安裝 Git

  官方網站:https://git-scm.com/

  1. 雙擊安裝包,初始安裝界面直接點擊 Next;

  2. 選擇安裝路徑,點擊 Next;

  3. 選擇安裝組件,如下圖紅色方框為默認勾選,建議不做改動,綠色方框 1 為桌面快捷方式,綠色方框 2 為是否在所有控制台窗口中使用 TrueType 字體、是否每天檢查更新。各位根據需求選擇,點擊 Next;

  4. 選擇開始菜單,為開始菜單中所顯示名稱,默認即可,點擊 Next;

  5. 選擇默認編輯器,如 VSCode,各位根據需求選擇即可,點擊 Next;

  6. 創建文件夾界面,默認即可,點擊 Next;

  7. 調整環境變量 PATH,推薦選項二,點擊 Next;

  選項一,“僅從Git Bash使用Git”。這是最安全的選擇,因為您的 PATH 環境變量不會被修改,您只能使用 Git Bash 工具支持 Git 命令,第三方如 Windows 的 cmd 命令行不支持 Git 指令。

  選項二,“從命令行以及第三方軟件進行Git”。該選項被認為是安全的,因為它僅向PATH添加了一些最小的Git包裝器,以避免使用可選的 Unix 工具造成環境混亂,您將能夠從Git Bash、命令提示符和Windows PowerShell 以及在 PATH 中尋找 Git 的任何第三方軟件中使用 Git。這也是推薦的選項。

  選項三,“從命令提示符使用 Git 和可選的 Unix 工具”。警告:這將覆蓋Windows工具,如 “ find 和 sort ”。只有在了解其含義后才使用此選項。

  8. 選擇 SSH 可執行文件,選擇開源代碼即選項一,點擊 Next;

  9. 選擇 HTTPS 后端傳輸,常用選項一,點擊 Next;

  選項一,“使用 OpenSSL 庫”。服務器證書將使用ca-bundle.crt文件進行驗證。這也是我們常用的選項。

  選項二,“使用本地 Windows 安全通道庫”。服務器證書將使用 Windows 證書存儲驗證。此選項還允許您使用公司的內部根 CA 證書,例如通過 Active Directory Domain Services 。

  10. 配置行尾符號轉換,Windows 下選擇選項一,點擊 Next;

  選項一,“簽出 Windows 風格,提交 Unix 風格的行尾”。簽出文本文件時,Git 會將 LF 轉換為 CRLF。提交文本文件時,CRLF 將轉換為 LF。對於跨平台項目,這是 Windows 上的推薦設置(“ core.autocrlf”設置為“ true”)。

  選項二,“按原樣簽出,提交 Unix 樣式的行尾”。簽出文本文件時,Git 不會執行任何轉換。 提交文本文件時,CRLF 將轉換為 LF。對於跨平台項目,這是 Unix 上的建議設置(“ core.autocrlf”設置為“ input”)。

  選項三,“按原樣簽出,按原樣提交”。當簽出或提交文本文件時,Git 不會執行任何轉換。不建議跨平台項目選擇此選項(“ core.autocrlf”設置為“ false”)。

  11. 配置終端模擬器以與 Git Bash 一起使用,默認選項一即可,點擊 Next;

  選項一,“使用 MinTTY(MSYS2的默認終端)”。Git Bash 將使用 MinTTY 作為終端模擬器,該模擬器具有可調整大小的窗口,非矩形選擇和 Unicode 字體。Windows 控制台程序(例如交互式 Python)必須通過“ winpty”啟動才能在 MinTTY 中運行。

  選項二,“使用 Windows 的默認控制台窗口”。Git 將使用 Windows 的默認控制台窗口(“cmd.exe”),該窗口可以與 Win32 控制台程序(如交互式 Python 或 node.js)一起使用,但默認的回滾非常有限,需要配置為使用 unicode 字體以正確顯示非ASCII字符,並且在 Windows 10 之前,其窗口不能自由調整大小,並且只允許矩形文本選擇。

  12. 配置額外選項,默認勾選前兩個即可,點擊 Next;

  選項一,“啟用文件系統緩存”。文件系統數據將被批量讀取並緩存在內存中用於某些操作(“core.fscache”設置為“true”)。 這提供了顯著的性能提升。

  選項二,“啟用 Git 憑證管理器”。Windows 的 Git 憑證管理器為 Windows 提供安全的Git憑證存儲,最顯着的是對 Visual Studio Team Services 和 GitHub 的多因素身份驗證支持。 (需要 .NET Framework v4.5.1 或更高版本)。

  選項三,“啟用符號鏈接”。啟用符號鏈接(需要SeCreateSymbolicLink權限)。請注意,現有存儲庫不受此設置的影響。

  13. 配置實驗選項,默認不勾選即可,點擊 Next;

  14. 等待安裝完成。

  15. 啟動測試,開始菜單中看到 Git 的三個啟動圖標(Git Bash、Git CMD(Deprecated)、Git GUI):Git Bash,是 Git 配套的一個控制台;Git CMD(Deprecated),是通過 CMD 使用 Git(不推薦使用);Git GUI,是 Git 的可視化操作工具。

4. 安裝 vcpkg

  這里只概述 vcpkg 的獲取、編譯、和 Visual Studio 集成,如需更多了解,請訪問:vcpkg:跨平台 C++ 包管理器的安裝教程 - hik_wxy - 博客園 (cnblogs.com)

  4.1  獲取源碼

  防止遇到路徑問題,存放目錄不包含中文。如:D:\src\vcpkg。啟動 Git Bash 控制台,進入存放目錄,輸入:

  > git clone https://github.com/microsoft/vcpkg

  注意:git clone速度太慢是因為 github.global.ssl.fastly.net 域名被限制了,我們只需使用 github 的鏡像網站進行訪問,將地址中的 github.com 替換為 github.com.cnpmjs.org,即:

  > git clone https://github.com.cnpmjs.org/microsoft/vcpkg

  4.2  編譯源碼

   命令行執行 vcpkg 工程目錄下的 “bootstrap-vcpkg.bat” 命令,即可編譯。編譯好以后會在同級目錄下生成 vcpkg.exe 文件。

  注意:vcpkg 大量使用的 psl 腳本,所以官方強烈推薦使用 PowerShell 而不是 cmd 命令行來執行各種操作。盡管在使用的時候兼容 cmd,但是在編譯這一步,請盡量使用 PowerShell,工具位於  \vcpkg\downloads\tools 路徑下。

  > .\vcpkg\bootstrap-vcpkg.bat

  4.3  集成 Visual Studio

  接下來我們將 vcpkg 和 Visual Studio 進行集成。

  常規情況下,我們編譯或安裝一些第三方庫后,需要手動設置 include 目錄、lib 目錄、環境變量等,會有很多工作量。vcpkg 提供了一套機制,可以全自動的適配目錄,而開發者不需要關心已安裝的庫的目錄在哪里,也不需要設置。這是vcpkg的一大優勢。

  集成指令:

  > vcpkg integrate install

 5. 安裝OSG/OSGEarth

  如果您是標准化團隊,可參考 5.1 讓一位成員使用 vcpkg 下載源碼並編譯,然后參考 5.2 導出庫文件,即可輕松地將它與其他團隊成員共享。

  5.1  安裝依賴項

  我們以 64bit-Windows build 為例,安裝必要依賴項:

  > vcpkg install osg:x64-windows gdal:x64-windows curl:x64-windows

  如需完整功能,也可以安裝可選依賴項:

  > vcpkg install sqlite3:x64-windows protobuf:x64-windows geos:x64-windows blend2d:x64-windows webp:x64-windows basisu:x64-windows draco:x64-windows libzip:x64-windows
  • vcpkg 會自動檢測依賴關系,並將依賴關系自動下載編譯;
  • 第一次運行將需要很長一段時間,因為會下載很多壓縮包,解壓編譯;
  • 依賴的開源庫源碼一般由 github 提供,因此可能下載極度緩慢甚至失敗。可通過加速器執行以上指令 ;或者參考 4.1 利用鏡像網站手動下載失敗的資源,將壓縮包放到 vcpkg\download目錄下,再重新執 行以上指令。

  5.2  導出/導入已安裝庫

  如果您已安裝好依賴項,那么您可以導出這些已安裝庫,分享給團隊其他成員。我們以 5.1 中必要依賴項為例:

  > vcpkg export osg:x64-windows gdal:x64-windows curl:x64-windows --7zip
  • 默認導出 x86-windows 版本庫,如需導出其他版本,需指定。
  • 默認導出 vcpkg 目錄下,默認導出包名稱 vcpkg-export-日期-時間,如需指定目錄和名稱,使用 “-output=” 參數。
  • 導出必須指定包格式:--raw:目錄格式;--nuget:nuget格式;--zip:zip格式;--7zip:7z格式;--ifw:我也不知道。

  團隊其他成員可將共享使用這些導出庫:

  > vcpkg import xxx.7z

  5.3  vcpkg 自動安裝 OSGEarth

  如果您需要生成 OSGEarth 的 Visual Studio 解決方案,來進行手動編譯,您可以直接瀏覽 5.4。

  您同樣可以使用 vcpkg 直接自動安裝 OSGEarth:

  > vcpkg install osgearth:x64-windows
  • 如果彈出提示:是否重新構建幾個你已經安裝過的依賴項,那么在上面指令后面加 --recurse;
  • 本次運行同樣需要很長一段時間,也會下載緩慢甚至失敗,參照 5.1 解決;
  • 如果“raw.githubusercontent.com”手動下載同樣無法鏈接,可以通過修改Hosts臨時解決:1. 通過 IPAddress.com 首頁,輸入 raw.githubusercontent.com 查詢到了真實IP地址 199.232.28.133;2. 找到 C:\Windows\System32\drivers\etc 的 hosts 文件,添加以下內容並保存:199.232.28.133 raw.githubusercontent.com;3. 重新執行以上指令。

  5.4  Visual Studio 手動編譯 OSGEarth

  vcpkg 提供了一套 CMake 工具鏈文件,幫助 OSGEarth 找到它的所有依賴項,並生成 Visual Studio 解決方案。

  5.4.1  獲取源碼

  防止遇到路徑問題,存放目錄不包含中文。如:D:\src\OSGEarth。啟動 Git Bash 控制台,進入存放目錄,輸入:

  > git clone https://github.com/gwaldron/osgearth.git

  為接下來生成 Visual Studio 解決方案創建子目錄:

  > mkdir buildRelease
  > mkdir buildDebug

  注意:這里為發布版和調試版指定不同的生成目錄,並在接下來使用 -DCMAKE_BUILD_TYPE 指定生成類型,這是因為 OSGEarth 的某些依賴項在不指定構建類型的情況下,不會同時獲取調試版本和發布版本。這應該在未來的 CMake 版本中修復。

  5.4.2  配置 CMake

  我們以發布版本為例:

  > cmake -S D:\src\OSGEarth -B D:\src\OSGEarth\buildRelease -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release -DWIN32_USE_MP=ON -DCMAKE_INSTALL_PREFIX=D:\src\OSGEarth\buildRelease -DCMAKE_TOOLCHAIN_FILE=D:\src\vcpkg\scripts\buildsystems\vcpkg.cmake

  5.4.3  構建 Visual Studio 解決方案

  進入 buildRelease 目錄,可以看到已經生成了 Visual Studio 解決方案。您可以使用 cmake 在命令行上、或打開 Visual Studio 來編譯 OSGEarth。

  > cmake --build . --target INSTALL --config Release

  5.5  配置環境變量

  可將自己手動編譯生成的 OSGEarth 相關庫和頭文件,匯總到 vcpkg 目錄下: D:\src\vcpkg\installed\x64-windows 。

  右鍵此電腦 - 屬性 - 高級系統設置 - 環境變量,根據您的具體路徑設置,在系統變量 Path 中增加:

    D:\src\vcpkg

    D:\src\vcpkg\installed\x64-windows\bin

    D:\src\vcpkg\installed\x64-windows\tools\osg

    D:\src\vcpkg\installed\x64-windows\debug\tool\osg

    D:\src\OSGEarth\buildRelease\lib\Release

    D:\src\OSGEarth\buildDebug\lib\Debug

 

 

  參考鏈接:https://www.cnblogs.com/xueweisuoyong/archive/2019/11/22/11914045.html

       https://blog.csdn.net/m0_37251750/article/details/105827222


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM