X-Plane 风景工具可以作为源代码和二进制文件。本文介绍如何获取、编译和修改 scenside tools 代码。另请参阅:

设置你的编译环境

在 X-Plane 风光工具代码 (XPTools) 可编为 Mac,Windows 或 Linux (端口仍然在进行中)。之前,你可以工作的工具,你可能需要去/更新您的开发环境。

Mac OS X

建立在 OS X,你需要一个最新版本的 mac OS X (优山美地、 El Capitan 的测试) 和 X-(X-码军已测试)。你可以弄个代码从苹果 app store。

您还需要的命令行版本安装了 CMake。最新版本的一样的文章。工作; 我以前的文章。3.1.3 来试试。如果你跑

Cmake -- 版本

在终端中,你会看到 cmake 版本 3.1.3,你已经准备好了。我通过下载源代码并使用 configure 编译它来安装 CMake,这似乎工作得很好。(有 CMake 的二进制发行版 -- 它们过去更容易安装,但现在过程似乎更复杂了。如果你想走这条路,祝你好运!)

在编写本报告时,新的工具的新操作系统是一个题目处称为 “现代 _ mac”--一定要切换存在,例如。

Git 收银台-t 产地/git modern_mac 子模更新库

窗口

Windows 上的工具链有两种选择。如果你只想在 WorldEditor 上工作,并且你愿意在 1.3 或更高版本的代码上工作 (截至本文撰写之时,该代码已掌握) 您可以使用 Microsoft Visual Studio Express 2010 或更高版本。这是更容易的选择。如果你想使用所有的工具或者想使用旧版本的 WED (1.0-1.2),你需要使用 Mingw。

设置 MSVC 是直接的: 您只需要标准安装 Microsoft Visual Studio Express 2010 或 2012。您还需要某种 GIT 客户端;GIT 图形用户界面是一个简单的选择,和命令行语法下面看起来 “混帐击” 选项,来吧。

本节的其余部分涵盖使用 MinGW。

警告:确保在 Windows 上的代码路径中没有空格!Makefile 还没有处理这种情况。安装工具时,您可能需要考虑这一点。

MinGW 是受支持的编译器-您需要使用 GCC 4.2.x 或更高版本设置一个完整的 mingw 环境。最简单的方法是使用 XPTools 环境安装程序,可以下载这里

安装程序是一个网络安装程序,也就是说,它将把最新的组件下载到构建环境中。构建环境是完全独立的 -- 完成后简单地删除它 -- 它不安装任何注册表项、 COM 组件或其他全局 “东西”。

要启动环境,请从安装目录的根目录运行 startenv.bat。如果您在安装过程中选择下载源,它会自动将您放入风景工具源目录中,或者如果您跳过该步骤,它会将您放入您的主目录中。

要更新构建环境本身 (例如,当我们添加了一个新的 gcc 版本时),只需启动环境并执行以下命令:

Cd/git 拉原产大师: 主

但这可能会失败时更新 bash 的混帐的环境,因为窗户锁文件,这是目前在使用。在这种情况下,只需重新运行 Buildenvironment 安装在现有的安装更新的环境 (你需要一个安装程序版本> = 1.1.1 的工作)。

类似地,您可以使用以下工具更新风景工具源代码树:

Cd/git xptools 拉原产大师: 主

注意,你不是在主支后重新安装,但具体实施的风景工具树已注册为 git 子模的编译环境。因此,你需要确保你切换到科前建设的工具,更新后的树 (你需要做这一次后重新安装):

Cd/git xptools 收银台大师

Linux

您将需要 GCC 4.2.x-4.5.x 和几个包:

  • Gnu make
  • Gnu coreutils
  • Binutils,libbfd binutils-devel (如适用) 的.
  • Libmpfr-devel
  • Qt4-devel
  • Mesa-libGL-devel,台面 libGLU-devel 或专有的变异体的 ATI 和 NVidia

获取源代码

源代码现在还活着GitHub!您可以使用所有标准的 GitHub 技术在线浏览、下载或将其克隆到 GIT。

在线浏览树

对于那些谁想要了解最近发生的变化,或者只是想偷无耻的代码通过复制和粘贴,看一看:

https://github.com/X-Plane/xptools

从该链接中,您可以下载最新代码的 tarball,或者下载任何主要版本; 二进制工具版本在回购中有匹配的标签。

克隆的 Git 库

那些想要贡献补丁并在树上进行认真开发的人,可以使用快速 git 协议使用 Git 克隆存储库:

Git 克隆 https://github.com/X-Plane/xptools.git 

编译程序

风景工具的源代码依赖于大量的第三方库; 为了使跨平台开发更容易,它们位于代码树的子文件夹中。

建库

(使用 MSVC 在 Windows 上构建 WorldEditor 1.3 或更高版本时,此步骤是不必要的。)

第一次你想收集,你需要先下载和编辑您的图书馆。从你的库,你可以这样做:

Git 子模更新--初始光盘库制作

这些库可能需要 20-30 分钟来编译!

在 Linux 和 Windows 上构建 (命令行/MinGW)

我试图让这个过程尽可能简单。首先,请确保安装了以下先决条件:

  • Libbfd (主要包含在 binutils 中) 、 libmpfr 、 libz 和 boost 的开发包
  • Gcc (我认为 :-))
  • Gnu make

然后做一个

使

在风景工具根目录中。喝杯咖啡,在你最喜欢的公园散步 :-)。经过几 aeons 输出可以找到下

/构建/<平台>/<配置>

该平台是自动地确定,当建立 Linux 系统是 Linux 的过程。配置默认 debug_opt。您可以指定配置时,这样的工具:

Make conf = <配置>

其中 <配置> 可以是以下之一:

  • 释放
  • Release_opt
  • 调试
  • Debug_opt

_ Opt 变体使用-O2 set 构建,其他变体使用-o0。发布变体使用-DDEV = 0 set 构建,调试变体使用-DDEV = 1 构建。要清理树,你可以做:

  • 做清洁,这只是删除 /生成目录
  • 使 distclean,删除 /生成目录和内置 3rd-party 图书馆位于 /库/本

您也可以建立一个单一的工具,例如。

Conf = release_opt make ObjView

在 Windows 上构建 (MS Visual Studio)

MSVC 解决方案文件 (.sln) 可以在 msvc/xtools_wed.sln 中找到,它包含一个构建 WorldEditor 的项目 (xtools_wed)。MSVC 项目使用标准调试和发布目标。

建立在 OS X (X 代码) 上

这个代码项目为几乎所有的风景工具叫做 SceneryTools_xcode6.xcodeproj 是在树根。每个风景工具都有一个目标 -- 只需选择一个配置、目标和构建。

重要的: 在首次在 Mac 上构建之前,您必须按照上述方式构建库。

提供补丁

像过去一样工作

如果你没有时间或动力定期使用布景工具,并且只想提交一个小的修复或功能增强, 您可能会决定下载一个快照 tarball 和代码。在这种情况下,只需创建一个带有 diff 工具的补丁,并通过电子邮件提交。当使用 GNU diff,你会做这样的事情:

差动 Naur 目录与原来的树> <<目录与固定的树>> my-fancy-fixes.patch

使用 git

我无法形容的基本任务的蠢货,git 的文件后演变为一个非常专业的国家。看看:bob电竞平台

上面提到的存储库确实有一个反映当前开发状态的主分支,以及用于修补二进制工具版本的发布分支。在 master 中,基于提交 (通常是最近的提交) 启动一个新的开发分支可能是一个好主意,可以避免从上游提取时出现合并冲突Git 拉。我鼓励使用Git 底垫拉新的对象和更新后的主支对当地的发展情况,除非你有人拉起你的数据库。在这种情况下,合并的主支回你的发展是一个更好的选择,因为原因的移位的新要求新 sha1-sums 的因素可能影响用户拉起你的数据库的工作流程。一旦你已经完成了你的工作,你想向你的变化,你可以创造出一系列的补丁程序开发分公司Git 格式-补丁并通过电子邮件发送到手动或自动使用Git 发送电子邮件。或者,您最好可以通过电子邮件提交一个请求,命名您的存储库 URL 和您希望我从中提取的分支名称。当然,只有当你可以在互联网上的某个地方发布你的存储库时,这才会起作用。

这就是我所有的功劳

当你提出一系列的补丁,当他们得到接受,他们迟早会出现在主支 (是的!:-))。你会发现,犯罪者,作者将用户 'sothis',就是我。这当然是因为我想让所有的信贷。说真的,这是,如上文所述,由于基础设施中。只要主库由 CVS,没有路吗 (除了别人可以点我来解决,请让我知道)。我不得不出口补丁手动的简历,Git cvsexportcommit,而 git 存储库通过Git cvsimport。因此,所有被接受的补丁看起来就像它们是由我写的一样。我将在提交消息中添加一个注释,当然补丁最初是从谁那里来的。

通讯录/联系

我们用 x-plane-dev 雅虎群组/通讯录中讨论风景工具编码; 认购,发送邮件,

X-plane-dev-subscribe@yahoogroups.com