Flightgear 编译
Posted 水滴工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flightgear 编译相关的知识,希望对你有一定的参考价值。
一、FlightGear简介
FlightGear 始于1997年,是一个开源的多平台飞行模拟器。
二、FlightGear编译过程
FlightGear平台的说明文档见:http://wiki.flightgear.org/Main_Page
FlightGear支持在多平台上运行,用户可以从源码开始编译自己的FlightGear,编译方法也有很多种。
这里我们主要在Windows平台上运行,因此这里选用Building using CMake - Windows方式进行编译。,官方流程见:http://wiki.flightgear.org/Building_using_CMake_-_Windows
1、首先需要准备主要相关文件
1)源代码(下载页http://www.flightgear.org/download/source-code/)
我使用的版本:FlightGear-2016.1.1.tar.bz2
SimGear-2016.1.1.tar.bz2
FlightGear-2016.1.1-data.tar.bz2
2)工具软件
- CMake GUI:
- Microsoft Visual Studio 2010 Express (MSVC)
- Microsoft Windows SDK (only required for 64-bit builds)
- If you get an error during the installation of the SDK, try uninstalling MSVC redist packages first, then installing the SDK without compilers and then finally re-installing MSVC.
- Visual Studio 2010 SP1 (If you get a linking error during the configure process)
- Qt5 for the Integrated Qt5 Launcher (optional as of 03/2015)——QT5至少5.1以上,我当时用的5.1 有个OENLY_xx参数不支持,后来用了5.5,所以可以确定的是5.5版本是可以的(http://download.qt.io/archive/qt/5.5/5.5.0/ qt-opensource-windows-x86-msvc2010-5.5.0.exe )
- 另外还需要安装OpenGL环境,记得下载一个编译好的OpenGL,把include 文件放到 Visualstudio 2010 的C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\include目录,dll放到C:\\Windows\\System32 中。
2、创建目录
32系统版本需创建目录如下(相比于官网,加上虚线更容易看清目录结构)
3、编译过程
1)编译simgear
已经是第二次打开了,所以没有第一次打开Cmake 点击config,选择编译器: Visual Studio 10(我的是第二次打开,所以再点config看不到那个界面了,下面盗了个图,此图来自自由云https://www.freeyun.com/flightgear-3-2-0-generation-debug.html)
然后,主界面:
CMAKE_BUILD_Type 根据需要添加,我后来加的是”Debug;Release“,两个版本都要。
Where is the source code 设置为 D:\\MSVC_3RDPARTY_ROOT\\simgear-2016.1.1
Where to build the binaries 设置为D:\\MSVC_3RDPARTY_ROOT\\simgear-build
CMAKE_INSTALL_PREFIX 设置为 D:\\MSVC_3RDPARTY_ROOT\\Install\\msvc100\\SimGear
点击 Configure 直至 Generate 可用,点击 Generate 生成工程文件
这个过程中,如果Cmake中有提示xxx-notfound,记得手动配置一下,如果错误产生看是什么错误,一般情况下是没有找到相应的依赖库,如果没有下载,就自己去下,如果已经下载,但是没找到就手动帮忙重置一下,简单粗暴。一定记得查看错误原因,要有耐心慢慢捋。最后,编译成功,打开位于 D:\\MSVC_3RDPARTY_ROOT\\simgear-build 的工程文件 SimGear.sln 。
选择批生成,勾选ALL_BUILD和INSTALL 两项(这里我在Cmake那页里后来加上了Debug;Release ,所以有两个版本)
点击生成,等待编译成功。
2)编译FlightGear
同样的,编译FlightGear和Simgear的流程差不多,只是把对应的目录换成FlightGear的相关目录,这其中涉及到的内容就比较多。
Where is the source code 设置为 D:\\MSVC_3RDPARTY_ROOT\\flightgear-2016.1.1
Where to build the binaries 设置为 D:\\MSVC_3RDPARTY_ROOT\\flightgear-build
CMAKE_INSTALL_PREFIX 设置为 D:\\MSVC_3RDPARTY_ROOT\\Install\\msvc100\\FlightGear
点击 Configure 直至 Generate 可用,点击 Generate 生成工程文件
用 VS 打开 D:\\MSVC_3RDPARTY_ROOT\\flightgear-build下的工程文件 FlightGear.sln
以上是基本流程,其中可能遇到的问题有BZIP2_INCLUDE_DIR等BZIP2的目录找不到,自己可以到 官网上下载一个,然后放到3rdParty 中 D:\\MSVC_3RDPARTY_ROOT\\3rdParty\\bzip2-1.0.6 。
还有就是Qt5 ,建议5.5以上,相关目录如下
C:/Qt/Qt5.5.1/5.5/msvc2010/lib/cmake/Qt5Core
C:/Qt/Qt5.5.1/5.5/msvc2010/lib/cmake/Qt5Gui
C:/Qt/Qt5.5.1/5.5/msvc2010/lib/cmake/Qt5Widgets
C:/Qt/Qt5.5.1/5.5/msvc2010/lib/cmake/Qt5
其中,目录设置出错的话,会有详细提示,照着做就好了。
上传一下完整的配置。
之后,同样是Generate,然后打开flightgear.sln文件,对ALL_BUILD项目,选择批量编译。
然后配置环境变量
Path中添加 D:\\MSVC_3RDPARTY_ROOT\\Install\\msvc100\\OpenSceneGraph\\bin; D:\\MSVC_3RDPARTY_ROOT\\3rdParty\\bin。
设置新的系统变量 FG_HOME
变量值为 D:\\MSVC_3RDPARTY_ROOT\\Install\\msvc100\\FlightGear
继续打开 FlightGear.sln 工程,将 fgfs 设置为启动项
打开 fgfs 的工程属性,配置属性-调试-命令参数,添加--fg-root=D:\\MSVC_3RDPARTY_ROOT\\FlightGear-2016.1.1-data
然后启动调试即可
参考
http://www.flightgear.org.cn/thread-7997-1-1.html
https://www.freeyun.com/flightgear-3-2-0-generation-debug.html
http://www.flightgear.org.cn/thread-7997-1-1.html
https://www.freeyun.com/flightgear-3-2-0-generation-debug.html
以上是关于Flightgear 编译的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用WIN10 Visual Studio 2015 编译FlightGear源码(2020.1.1版本)
PX4模块设计之八:Ubuntu 20.04搭建FlightGear模拟器