我要发帖 回复

中级会员

24

主题

677

积分

0

专家分

:

私信
发表时间 : 2008-8-28 22:00:33 | 浏览 : 9188    评论 : 39
FlightGear 是一款开源的飞行模拟游戏,它能够运行于 Linux/Windows/Mac 等多种平台,以其高度的仿真性特、很低的硬件要求(集成显卡即可流畅的运行)和极高的专业性风靡于 Linux 世界。 FligthGear在Linux下的编译相对来说比较方便些,但在windows编译要稍微麻烦点。这几天花了点时间,写了个编译教程,希望对大家有所帮助,也希望有更多的朋友一起来研究FligthGear。
编译步骤:
1.上官方网站下载源代码www.flightgear.org
2. 下载支持库,包括3drparty(opengl,openal,zlib),plib(视景驱动,网络支持,摇杆驱动),simgear(仿真框架)。注意plib1.8.5版本与其他库有冲突会导致编译出现问题,请下载其他版本
3.下载文件放置路径,文件夹截图所下示

1111.JPG
4.   打开工程文件.\FlightGear-1.0.0\projects\VC8\FlightGear.sln,移除jsdemo工程(此工程是摇杆测试程序,没什么用处而且编译时容易出错,所以去除),然后点击开始编译
5.
编译时可能遇到的错误以及解决办法:
出现错误:“1>Project : error PRJ0019: 工具从"Creating Config.h"
原因:编译器里包含预生成事件“copy ..\..\src\Include\config.h-msvc8 ..\..\src\Include\config.h”,但源文件中并未包含“config.h-msvc8文件
可通过GOOGLE的源代码搜索找到此文件
exit函数冲突问题
原因:GLUT版本过旧。
可将glut.h文件中:extern _CRTIMP
void __cdecl exit(int);
改为extern _CRTIMP __declspec(noreturn) void __cdecl exit(int);
Simgear工程中中出现无法解析的外部符号
原因:函数缺失
手工添加以下5个函数,
inline double SampleStatistic::var() const
{

if ( n > 1) {

return(( x2 - ((x * x) /
n)) / ( n - 1));

}

else {

return ( 0.0 );

}
}
inline void SampleStatistic::operator+=(double value)
{

n ++;

x += value;

x2 += (value * value);

if ( minValue > value) minValue = value;

if ( maxValue < value) maxValue = value;
}
inline double SampleStatistic::stdDev() const
{

if ( n <= 0 || this -> var() <= 0) {

return(0);

} else {

return( (double) sqrt( var() ) );

}
}
inline double SampleStatistic::mean() const
{

if ( n > 0) {

return (x / n);

}

else {

return ( 0.0 );

}
}
inline void SampleStatistic::reset()
{

n = 0; x = x2 = 0.0;

maxValue = -10;

minValue = 10;
}
6.
编译成功,生成flightgear.exe
7.
运行:开始运行FlightGear前,请先下载FlightGear资源包(包括三位模型,地形,配置文件等)。下载完成后可直接在命令行模式下输入参数的形式运行FlightGear,比如输入:flightgear.exe --fg-root="d:\Program Files\FlightGear\data" --airport=KCCR --aircraft=787-ANAdata路径为资源包路径,具体的参数如何设置请参考官方文档)
    同时FlightGear提供了一个界面化的程序运行向导fgrun.exe(官方网站上可下载)。可以通过此向导程序可非常直观的运行FlightGear。如下图所示
2.jpg 3.jpg


下载第三库以及编译过程比较麻烦,给大家上传一个已经做好的工程包FGProject,打开工程.\FlightGear-1.0.0\projects\VC8\FlightGear.sln直接点击生成解决方案就可完全编译FlightGear了。

最近VR访客

TY
yihan007 评论于2008-8-28 22:07:25

源码包

一个七个包

FGProject 1.0.0.part01.rar

976.56 KB, 下载次数: 121

FGProject 1.0.0.part02.rar

976.56 KB, 下载次数: 133

FGProject 1.0.0.part03.rar

976.56 KB, 下载次数: 108

FGProject 1.0.0.part04.rar

976.56 KB, 下载次数: 90

FGProject 1.0.0.part05.rar

976.56 KB, 下载次数: 94

FGProject 1.0.0.part06.rar

976.56 KB, 下载次数: 202

FGProject 1.0.0.part07.rar

850.09 KB, 下载次数: 89

TY
yihan007 评论于2008-8-28 22:08:59
忘了说了,编译环境是MSVC2005
TY
administrator专家组 评论于2008-8-28 22:52:47
说的挺全的 支持yihan007!
99daodan 评论于2008-9-2 12:03:24
感谢啊,真是宝贵资料。
qq4101 评论于2008-9-7 23:18:25
喔喔~~正好解決了我一些問題~~真是感謝~~
Hai_720 评论于2008-9-12 14:55:02
我怎么看不到附件啊?正急着用呢,可以发个到我邮箱吗?谢谢!
huanghai_720@yahoo.com.cn
yihan007 评论于2008-9-12 16:48:51
邮箱附件发不了这么大的文件,加我QQ发给你
QQ:76154729
TY
akadia 评论于2008-9-22 10:44:19
好帖,疯狂支持一下
dongmingz 评论于2008-9-23 17:37:42
不太懂
test99 评论于2008-11-14 10:11:07
如何下载啊,怎么没有权限
liupq1984 评论于2008-11-17 20:09:23

支持

顶一下,好东西,大家一块来学习这个不错的软件吧!
jw5729798 评论于2008-11-24 21:34:53
顶,好东西
sweilin 评论于2008-12-3 11:36:01

sdasdfsad

sdf
scorpiMH 评论于2008-12-4 21:41:50
顶。楼主给我发个包吧!scorpi@126.com

可以在VC++6.0中编译么?
yihan007 评论于2008-12-5 09:13:31
不能在6.0下编译,编译包太大邮箱附件放不下,可以加我QQ联系,我把包直接发给你
76154729
TY
yihan007 评论于2008-12-5 16:34:37

FlightGear群

看来下载编译包的人还不少,自己建了个FlightGear学习交流群,欢迎大家的加入
群号:74705086
TY
lgz99071 评论于2008-12-6 11:33:45
好东西应该和大家分享,
lgz99071 评论于2008-12-6 11:34:26
顶顶顶顶顶顶顶顶顶顶
snowman 评论于2008-12-7 15:56:46
hao dong xi

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-4-21 01:54 PM

返回顶部