FlightGear編譯
本文描述了FlightGear 2019.1.1版本的編譯程序,親測有效,編譯程序可參考官方網站:http://wiki.flightgear.org/Building_using_CMake_-_Windows
一、 準備作業
1. FlightGear 2019.1.1:https://sourceforge.net/projects/flightgear/files/release-2019.1/
2. SimGear 2019.1.1:https://sourceforge.net/projects/flightgear/files/release-2019.1/
3. FgData 2019.1.1:https://sourceforge.net/projects/flightgear/files/release-2019.1/
4. Osg 3.4.0:https://github.com/openscenegraph/OpenSceneGraph
二、 工程配置目錄說明
三、 編譯OSG
OSG的編譯完成教程很多,不再贅述,此處僅強調一點,在進行cmake配置時注意該引數:OSG_USE_UTF8_FILENAME,一定要勾選上,
因為這是后面的simgear在編譯時要求的,不然的話你會在cmake配置simgear是遇到這樣的錯誤:
“CMake Error at CMakeLists.txt:259 (message):
Please rebuild OSG with OSG_USE_UTF8_FILENAME set to ON”;
四、 編譯simgear
下載安裝openal庫,http://www.openal.org/downloads/
OpenAL 1.1 Core SDK(zip),安裝完成后打開安裝目錄中的redist檔案夾,雙擊其中的oalinst.exe應用程式,完成openal32.dll庫的注冊。
Simgear中的boost使用openscenegraph的2017版本的3rdparty中的相關boost即可。
五、 編譯flightgear
1. 首先需要編譯其第三方依賴庫PLIB,在此下載PLIB第三方依賴庫的1.8.5版本,下載地址:http://plib.sourceforge.net/download.html;
2. 編譯完成后配置進cmake中,生成vs工程。
3. 啟動vs工程完成編譯。
從FlightGear udp獲取飛行資料
1. 首先撰寫aaa.xml(名稱可自定義)組態檔,然后放到fg-data中的Protocol檔案夾下,格式可以參見該檔案夾下已存的playback.xml檔案;
2. 命令列啟動fg,fgfs –generic=socket,out,1,localhost,5500,udp,aaa;
3. 然后用wireshark,或者,tcpudp的監聽工具,監聽本機的5500埠,可接受到資料,同時我寫了資料接收和決議的小程式,可參考。Conmmunicaiton檔案夾
4. 參考鏈接:https://blog.csdn.net/qq_23096723/article/details/79253673?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
向FlightGear udp發送資料
1. 向FG發送資料也需要撰寫aaa.xml組態檔放置到Protocol檔案目錄中,配置可參考該目錄下的playback.xml檔案中的<input>節點;
2. 命令列啟動fg,fgfs-generic=socket,in,1,localhost,5500,udp,aaa;
3. 然后撰寫socket通訊工具,發送資料,資料格式需要參照aaa.xml中chunk的順序和格式,比如以經緯高舉例
發送固定字串“21.21212121,-157.2345256,12.3324455\n”,結尾需要以”\n”結束,不然fg無法收到這條資料。發送后會發現fg中的飛機位置改變了。示例程式可參考Conmmunicaiton檔案夾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/6964.html
標籤:VR/AR
上一篇:navicat在連接Mysql的時候,使用無線網路連接成功,使用網線連接失敗,防火墻關閉狀態,用戶權限user@%
