QQ登录

只需一步,快速开始

查看: 8326|回复: 8
打印 上一主题 下一主题

在VS2008 SP1下编译FlightGear 2.0 (1)

[复制链接]

主题

好友

1268

积分

管理员

跳转到指定楼层
楼主
发表于 2011-9-6 10:45:20 |只看该作者 |倒序浏览


分享到: QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0

主题

好友

150

积分

理论基础学员

沙发
发表于 2012-3-14 11:26:19 |只看该作者
为什么附件看不到,只显示是问号?
回复

使用道具 举报

主题

好友

42

积分

报考学院待录取

板凳
发表于 2012-5-1 22:07:17 |只看该作者
Geoff McLane,一个澳大利亚人,现居住于法国,维护着一个关于如何编译FlightGear的主页,http://geoffmclane.com/fg/index.htm,上面还有许多FlightGear需要的依赖库。下面是我自己在VS2008下编译FlightGear 2.2.0的过程。
在编译FlightGear之前,最好安装VS2008的SP1,因为FlightGear和OpenSceneGraph(OSG)的网站上提供的第三文集广开言路中都是在VS9SP1下构建。不安装VS2008 SP1也能够编译成功,运行也没有问题。我后来发现我的VS2008不能构建MFC程序,于是修复安装了VS2008,顺带将SP1也装了。
FlightGear需要许多依赖库,最重要的就是OpenSceneGraph。FlightGear的不同版本对OpenSceneGraph的版本有一定的要求。比如,FlightGear 2.0.0就要求OpenSceneGraph的版本必须至少是2.9.6。我开始没注意这点,下载了一个2.8.2的稳定版的OpenSceneGraph,结果出了问题。当然OpenSceneGraph也白编译了(OpenSceneGraph是需要很长时间的)。
1.下载OpenSceneGraph源代码,解压到非中文的目录,Cmake好像不能识别中文的目录,比如:x:\osg\OpenSceneGraph-2.9.7
2.下载CMake2.8.1不用安装的版本,最好也解压非中文的目录下,如x:\Program Files\cmake-2.8.1-win32-x86,建立bin目录下cmake-gui.exe的桌面快捷方式。
3.下载OpenSceneGraph需要的第三方库:在OSG的网站上有完整的库(头文件、LIB文件和DLL文件),这里下载的针对VS2008SP1的3rdParty_Win32Binaries_vc90sp1.zip。解压放到:x:\osg\3rdParty下面,将OpenSceneGraph-2.9.7和3rdParty放在一级目录上,这样Cmake自动能找到第三方库所在的目录。OSG需要许多第三方库,OSG中文论坛中的一篇文章《win32编译OSG.pdf》详细介绍了这些库的作用。OSG在不同操作系统下需要的库是不一样的。在VS2008SP1下3rdParty_Win32Binaries_vc90sp1.zip中那些库就够了。
4.运行cmake-gui.exe,将x:\osg\OpenSceneGraph-2.9.7中的CMakeLists.txt拖到cmake-gui的窗口上。cmake-gui中Where to build the binaries和Where is source code的内容不需做任何改变。将simple view切换成advenced view。点configure,选择VS 9 2008,选择specify native compiler,将C和C++的编译器指定到VC9的编译器cl.exe。
5.点configure开始配置,configure完成之后在出现的红色区域中一定要看一下ACTUAL_3RDPARTY_LIB是不是指向了第三方库的目录x:\osg\3rdParty,如果不是手工设置到x:\osg\3rdParty,然后再点configure,configure完成之后在红色区域中可以检查一下ZLIB_LIBRARY、PNG_LIBRARY等库是不是指向了x:\osg\3rdParty\lib中相应的库。如果ACTUAL_3RDPARTY_LIB设置正确了,一般就不会出问题。
6.对于BUILD_OSG_EXAMPLES(WRAPPERS,PACKAGES,APPLICATIONS)这些项目可以不选择,因为我们不关心OSG的使用,只要它的库就可以了。如果你想研究OSG,这些应该选上,不过OSG的编译时间将会大大增加。
7.对于CMAKE_INSTALL_PREFIX,可以在x:\osg\D:/my/FlightGear/OpenSceneGraph-2.9.7下创建一个bin目录,将CMAKE_INSTALL_PREFIX设置到它,这样最后编译出来的OSG dll, exe文件就放到了bin目录中。
8.设置CMAKE_RC_COMPILER,使它指向windows SDK中的rc.exe文件,我电脑的是C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\RC.exe,关于这步的必要性,我没有做验证。
9.点configure,配置完成后,generate按钮就激活了,如果generate没激活,再点几次configure就可以了。
10.点generate,就在x:\osg\D:/my/FlightGear/OpenSceneGraph-2.9.7生成了用于MSVC9的sln文件、项目文件等。
11.运行VS2008,打开上面生成的sln文件。选择“批生成”,选择编译生成ALL_BUILD的Debug和Release版。现在OSG编译开始了,需要很长时间,要有耐心呀。编译过程基本不会出现错误,但会出现许多的警告,可以不用考虑。


回复

使用道具 举报

主题

好友

42

积分

报考学院待录取

地板
发表于 2012-5-1 22:09:20 |只看该作者
手打果然很累人

点评

zxc
辛苦了!不过目前的最新版本已经是2.6版本了。  详情 回复 发表于 2012-5-1 23:15
回复

使用道具 举报

主题

好友

1268

积分

管理员

5#
发表于 2012-5-1 23:15:15 |只看该作者
lelfei 发表于 2012-5-1 22:09
手打果然很累人

辛苦了!不过目前的最新版本已经是2.6版本了。
回复

使用道具 举报

主题

好友

19

积分

报考学院待录取

6#
发表于 2013-9-29 11:28:03 |只看该作者
   楼主辛苦了                                          
回复

使用道具 举报

7#
飞友  发表于 2013-12-20 15:05:03
谢谢楼主!!!辛苦!!!
回复

使用道具

主题

好友

23

积分

报考学院待录取

8#
发表于 2014-6-12 09:15:50 |只看该作者
太详细了,我回去试试,真心感谢
回复

使用道具 举报

主题

好友

60

积分

航院新生

9#
发表于 2014-7-19 12:45:18 |只看该作者
谢谢楼主!!!真心感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入FG

本版积分规则

手机版|联系我们| FlightGear ( 吉ICP备19002044号-7 )

GMT+8, 2024-5-4 14:32

Powered by Discuz! X3.2

© 2001-2013 FlightGear Inc.

返回顶部