FlightGear 最新編譯指南(Visual Studio 2015 Flightgear 2020.1.1版本)


如何在使用WIN10 Visual Studio 2015 編譯FlightGear源碼(2020.1.1版本)

1 目錄准備

  1. window 10 系統
  2. CMake UI 下載最新的 (https://cmake.org/download/)
  3. VS 下載 Visual Studio 2015 企業版也是可以的 官方要求最低 Express 版本。(我安裝的是 VS2015企業版本,關於C++\WINDOW SDK都全部裝上了)
  4. 其他下載按照1.1給的臉頰下載。
  5. 打開官方教材 http://wiki.flightgear.org/Building_using_CMake_-_Windows

1.1 按照官方建議目錄來

目前基本都是64bit系統,其中需要下載的

  1. 3rdParty.x64 /
  2. OpenSceneGraph / ( OSG CMake install )
  3. Boost / (latest version can be downloaded from http://www.boost.org/) 下載最新版本
    64-bits 目錄結構
3rdParty.x64 /
	bin /
	include /
	lib /
Boost / (latest version can be downloaded from [http://www.boost.org/](http://www.boost.org/ "http://www.boost.org/"))
	boost /
	lib64 /
	install /
msvc140-64 / ( for VS2015 64-bits, or msvc100-64 for VS2010 64-bits, or msvc90-64 for VS2008 64-bits )
	OpenSceneGraph / ( OSG CMake install )
		bin /
		include /
		lib /
	SimGear / (create this empty for now, subfolders will be created by build process 只是空目錄后面會自動生成文件過來)
		include /
		lib /
	FlightGear / (create this empty for now 只是空目錄后面會自動生成文件過來)
		include /
		lib /

1.2 實際目錄如下圖

${MSVC_3RDPARTY_ROOT} 表示根目錄,比如我的叫 FLIGHTGEAR_ROOT_X64 放在了D盤根目錄。

1.3 下載 flightgear源碼

下載源碼,包括3個部分

  1. simgear
  2. flightgear
  3. flight-data
    我下的是2020.1.1 提交的版本,應該是目前最新的release版本代碼。在哪里下?
    官方入口: http://wiki.flightgear.org/FlightGear_Git 進入找到最新的release版本,這里不建議編譯老版本,老版本意味着失去了最新的支持。

1.4 拷貝到1.1構件的目錄

把源碼拷貝過來,如下圖,並增加文件夾 flightgear-2020.1.1-build、simgear-2020.1.1-build 空文件夾,作為源碼編譯后生成代碼存放的文件夾。
如下圖,

  1. flightgear-2020.1.1 下載的源碼
  2. flightgear-2020.1.1-build 空文件夾,用於cmake ui 生成 visual studio 工程文件。
  3. simgear-2020.1.1-build 下載的源碼
  4. simgear-2020.1.1-build 空文件夾,用於cmake ui 生成 visual studio 工程文件。

2. CMake 編譯

2.1 設置編譯源碼目錄

首先你要下載CMake,打開CMake 如下圖,設置 simgear的源碼和編譯后的文件存放目錄

2.2 點擊【Configure】


彈出框設置,點擊【 Finish】

注意,一定要安裝 Visual Studio 2015 高版本的不支持、一定要安裝 Visual Studio 2015 高版本的不支持、一定要安裝 Visual Studio 2015 高版本的不支持。官方提到vs2010-2015的版本都是支持的。

2.3 錯誤處理一般是 boost目錄沒有設置


設置 Boost目錄

繼續點擊 【Configure】

2.4 錯誤處理設置工程輸出目錄 CMAKE_INSTALL_PREFIX

CMAKE_INSTALL_PREFIX 是 VS2015工程輸出目錄。
如果還有錯誤,一般就是NOT FIND 錯誤,記住,C++的錯誤大多數是某某路徑設置不正確。如下圖本次設置

繼續點擊 【Configure】

2.5 生成 Generate

如果編譯結果遇到 Warning 不要理會,還是點擊 Generate 按鈕進行VS2015工程代碼生成。

如果成功,那么顯示

可以 Open Project 對 Simgear 源碼編譯。

3 編譯 Simgear 源碼

注意必須先編譯 Simgear 源碼,之后才能進行 FlightGear 源碼的生成與編譯

3.1 編譯 解決方案

打開VS2015可見

有61個工程。等等VS2015加載項目完畢

選 Release 便右鍵工程解決方案,點擊【生成解決方案】,要一定時間根據個人電腦配置。

如上圖,如果出現了類似的提示,恭喜你編譯成功

3.2 編譯Install 工程項目,生成到指定目錄

這里生成的目錄就是 CMAKE_INSTALL_PREFIX 設置的目錄

出現錯誤了

這個錯誤不知道如何解決,直接去掉這個文件,看上去缺少 header文件,因為是test項目,直接從 工程中去掉。

生成成功 查看我們的目錄

4.CMake 編譯FlightGear源碼

cmake編譯 flightgear 源碼工作是跟 gear一樣的,中間多出一個 simgear目錄設置。

4.1 設置FlightGear路徑,並點擊 Configure


彈出設置框設置

你應該注意到 這個步驟跟Simgear是一樣的

4.2 設置 Boost目錄

你的CMake一定會報錯,如下:

因為我們參數 BOOST_INCLUDE_DIR 沒有正確設置,

這個步驟我們一次設置兩個參數

  1. BOOST_INCLUDE_DIR
  2. CMAKE_INSTALL_PRFIX

你應該注意到 這個步驟跟Simgear是一樣的

4.3 設置錯誤SimGear_DIR 設置

這里的 SimGear_DIR 就是跟前面生成的不同之處。
如下 Could not find a package configuration file provided by "SimGear"
(requested version 2020.1.0) with any of the following names:Could not find a package configuration file provided by "SimGear"
(requested version 2020.1.0) with any of the following names:


這個問題我折騰半天,其實沒有細看錯誤提示。提示說的很清楚,缺少SimGearConfig.cmake 我們應該在我們設置的目錄中查詢就知道了

設置 SIMGEAR_DIR

點擊 Configure

4.4 生成

你可能看到還有不少報錯,但是都是 Warning,你可以忽略


5 編譯 Flightgear

好了以上關於Flightgear的步驟其實跟 Simgear是一樣的,使用VS2015編譯也是一樣的,如下設置

選擇 Release 模式 x64 點擊【生成解決方案】

編譯成功后選擇 INSTALL工程,右鍵點擊【生成】

安裝到指定目錄

6 拷貝配置Flightgear-DATA 數據

把 fliight-data 拷貝到 D:\FLIGHTGEAR_ROOT_X64\install\msvc140-64\FlightGear 並命名位 data

7 調試 ctrl+F5

在工程項目屬性中
需要在 fgfs項目屬性中 調試參數
--fg-root=D:\FLIGHTGEAR_ROOT_X64\install\msvc140-64\FlightGear\data


注意:如果調試遇到一些DLL缺少問題請看下面的解決方案。比如 osg131開通的dll

問題

最后 是一些 dll文件的問題需要把dll文件拷貝到執行目錄 D:\FLIGHTGEAR_ROOT_X64\install\msvc140-64\FlightGear\bin 我也不知道為什么,還不知道C++中如何處理這些。
拷貝 D:\FLIGHTGEAR_ROOT_X64\3rdParty.x64\bin 所有DLL文件
拷貝 D:\FLIGHTGEAR_ROOT_X64\install\msvc140-64\OpenSceneGraph\bin 所有DLL文件
拷貝 D:\FLIGHTGEAR_ROOT_X64\install\msvc140-64\OpenSceneGraph\bin\osgPlugins-3.4.2 整個文件夾到
以上文件拷貝到 D:\FLIGHTGEAR_ROOT_X64\install\msvc140-64\FlightGear\bin 目錄


免責聲明!

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



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