QQ登录

只需一步,快速开始

查看: 21492|回复: 10
打印 上一主题 下一主题

请教flightgear3.4.0在windows平台下如何编译?

[复制链接]

主题

好友

119

积分

航院新生

楼主
发表于 2014-8-7 20:37:25 |显示全部楼层
QQ_881277 发表于 2015-8-7 16:43
高手,请问你的平台环境是什么?winndow7还是windows8,vs的版本呢?我换windows7平台了,正在安装环境, ...

我使用win7(64位)+VS2013 ,能够正常编译
回复

使用道具 举报

主题

好友

119

积分

航院新生

沙发
发表于 2015-7-30 20:32:13 |显示全部楼层
安装Git,CMake
获取最新的源代码,下载OSG,plib。
编译OSG-》SimGear-》FlightGear
回复

使用道具 举报

主题

好友

119

积分

航院新生

板凳
发表于 2015-7-31 20:06:50 |显示全部楼层
本帖最后由 wulanbagen 于 2015-7-31 23:29 编辑

我自己的操作步骤如下:
1.假设你已经安装了CMake(最好3.0.0以上)、Git;
2.通过Git下载最新的源代码,最新的源代码版本是3.6.0;Git可以下载SimGear、FlightGear、windows-3rd-party最新版本,下载地址在flightgear的wiki文档中有。另外需要下载OSG(3.2.1)、plib-1.8.5
3.首先编译OSG。使用CMake生成VS2013的解决方案,选择好你使用的编译器版本,然后编译。
4.接着使用CMake生成SimGear、FG的解决方案,编译。

注意64位与32位的区别,统一使用32位或统一使用64位即可。

我最近刚刚自己编译过,还没有详细记录,也没制作说明图,抱歉。
回复

使用道具 举报

主题

好友

119

积分

航院新生

地板
发表于 2015-8-4 09:18:11 |显示全部楼层
CMake产生OSG解决方案时,你第三方依赖库路径是否设定正确?见我的目录。如果你设置正确,OSG不会有很多错误,只有一两条冲突的警告,不影响编译,使用VS2013编译不会出错。

CMake生成simgear工程时有什么错误?贴出来看看
用CMake生成FlightGear时,你需要指定simgear所在路径的环境变量SIMGEAR_DIR,添加该环境变量后需要重新启动才生效。
回复

使用道具 举报

主题

好友

119

积分

航院新生

5#
发表于 2015-8-4 14:51:32 |显示全部楼层
lvguohu 发表于 2015-8-4 09:33
我也是遇到问题了 simgear 编译一直出错

什么错误?截个图贴出来看看
回复

使用道具 举报

主题

好友

119

积分

航院新生

6#
发表于 2015-8-4 20:28:36 |显示全部楼层
QQ_881277 发表于 2015-8-4 15:05
这是出现错误画面的截图。都是“could not find...”之类的错误,请问是缺少什么库文件还是路径设置的不对 ...

那些could not find错误不用全部理会,主要针对红色字体提示的。
在CMake产生Simgear时,需要指定Zlib、OSG等库的路径,如果有什么could not find,你只要确定这个不能找到的库既不是OSG的库又不在3rdParty的文件夹中,就不要管他。
回复

使用道具 举报

主题

好友

119

积分

航院新生

7#
发表于 2015-8-5 22:21:00 |显示全部楼层
本帖最后由 wulanbagen 于 2015-8-5 22:22 编辑
QQ_881277 发表于 2015-8-5 17:14
谢谢你。请问我在用VS2013编译OSG3.2.0的时候提示很多错误,大多是无法找到osgFXD.lib之类的错误。我个人 ...


osgFXd.lib?
也就是说你使用的是debug编译模式。
出现此错误是说明你在编译时osgFX库没有正常生成。你应该在出现的错误中找到那些非“无法找到osgFXd.lib”的错误,进行针对性的修改。
我记得好像编译的时候修改了osg的引用有文件,在几处添加了引用:#include <algorithm>。
回复

使用道具 举报

主题

好友

119

积分

航院新生

8#
发表于 2015-8-6 16:35:08 |显示全部楼层
QQ_881277 发表于 2015-8-6 14:43
谢谢你。被OSG编译折磨的要疯了。高手,再请教你,我在windows8.1平台下,IDE为 vs2013 utimate,OSG版本 ...

你把出现的错误贴出来看看,我没遇到这种错误。
编译过程中由于VS2013对C++标准执行的问题,我的确更改了几处头文件。
其他的错误一时想不起来。你贴一下,帮我回忆回忆
回复

使用道具 举报

主题

好友

119

积分

航院新生

9#
发表于 2015-8-6 21:12:46 |显示全部楼层
本帖最后由 wulanbagen 于 2015-8-6 21:18 编辑
QQ_881277 发表于 2015-8-6 17:09
高手,我下了一个osg3.2.0的二进制安装包,现在正在编译SimGear3.4.0,出现了两处错误,能否帮我看下:
...


出现此错误应该是你在CMake产生Simgear解决方案的时候,错误的引用了config导致的。生成的simgear_config.h文件中包含了跨平台编译的几处设置,我的simgear_config.h文件内容如下:
/* #undef HAVE_SYS_TIME_H */
#define HAVE_SYS_TIMEB_H
/* #undef HAVE_UNISTD_H */


/* #undef HAVE_GETTIMEOFDAY */
#define HAVE_GETLOCALTIME
#define HAVE_FTIME
#define HAVE_RINT
/* #undef HAVE_TIMEGM */
#define HAVE_ISNAN
#define HAVE_STD_ISNAN
#define HAVE_WINDOWS_H
/* #undef HAVE_MKDTEMP */

/* #undef GCC_ATOMIC_BUILTINS_FOUND */

/* #undef SYSTEM_EXPAT */
#define ENABLE_SOUND

你对比一下,看看是不是不一样。
如果不一样,你可以试试用上述内容进行替换,要是还不行你就得把3rdParty/include/下的config文件先转移走然后重新生成simgear解决方案。
回复

使用道具 举报

主题

好友

119

积分

航院新生

10#
发表于 2015-8-22 09:39:09 |显示全部楼层
QQ_881277 发表于 2015-8-22 08:43
高手,请帮我看看这个错误是怎么回事?OSG和SIMGEAR都已经编译生成好,现在在生成FLIGHTGEAR阶段。错误提 ...


添加SIMGEAR_DIR环境变量,在“计算机”上右键选择“属性”,再选择“高级系统设置”,再弹出的对话框中,选择环境变量,在系统变量中增加SIMGEAR_DIR,指向simgear库所在的位置即可。环境变量设置完后需要重启才能生效。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 12:55

Powered by Discuz! X3.2

© 2001-2013 FlightGear Inc.

返回顶部