交叉编译 - Windows 上的 V8 和 Linux

Posted

技术标签:

【中文标题】交叉编译 - Windows 上的 V8 和 Linux【英文标题】:Cross compilation - V8 and Linux on Windows 【发布时间】:2017-01-28 00:49:32 【问题描述】:

我正在尝试将 Google 的 V8 嵌入到我的游戏引擎中。我的目标是 3 个操作系统:Windows、Linux 和 OS X。

我在为 Windows 构建时没有遇到任何问题 - 我使用了 NuGet 包。但我正在尝试为 Linux 构建 V8,问题是 - 我在 Windows 上执行此操作(如果重要,Windows 10)。

Google 并没有确切说明如何使用 Windows 为 Linux 编译 V8,现在我真的很困惑,因为我不知道。到目前为止,我有 depot_tools、正确获取的 v8(使用 fetch 命令)、Python 和 MinGW。

我尝试过使用 v8gen.py,但它似乎只为 Visual Studio 生成构建文件。正如我所说,我不需要 VS 文件。

我的问题是:我该怎么办?

【问题讨论】:

你如何发布你的游戏的 Linux 版本而不在 Linux 上运行它来测试它? @KenWhite 你是说这不可能还是不聪明?这是两个非常不同的事情。我会说它非常适合原型制作。您制作一个构建并将其发送给朋友。 @luk32:我并不是说不可能。我是说期望为操作系统编写软件而不在该操作系统上运行它是一个非常糟糕的主意。如果没有该操作系统的副本进行测试,您可能根本无法知道它是否可以正常工作,更不用说正确了。盲目地期望能够为不同的操作系统重新编译它并将其转储给人们不会得到很好的结果。如果您的朋友愚蠢到可以运行您甚至没有先运行的软件,请按我的方式发送给他们。我有一些桥梁要卖,还有一些方法可以让他们通过几千美元的小额投资变得非常富有。 为什么不运行虚拟机?这可能比尝试进行交叉编译更容易,并且您可以获得能够测试软件的优势以及获得使用非 Windows 操作系统的经验的额外优势,这总是很方便。 Atm 我没有这个能力,但我很快就能做到。但是,我想现在就构建它,以免浪费时间。 【参考方案1】:

使用 V8 提供的当前构建工具和配置,这是不可能开箱即用的。正如 cmets 中所建议的,使用 VM 可能是让它为您工作的最快方法。

如果这对您或其他开发人员长期而言非常重要,您可以考虑向 V8 提交补丁以使这成为可能,但我不知道会有多少工作量.

【讨论】:

以上是关于交叉编译 - Windows 上的 V8 和 Linux的主要内容,如果未能解决你的问题,请参考以下文章

Windows 编译 v8 上的 pkg-config 错误

Windows 上的 QtCreator 使用 CodeSourcery 工具链为 Linux ARM 交叉编译

mac上的mxe交叉编译器QSerialPort

如何为linux和udev的arm视频交叉编译

树莓派学习笔记交叉编译概念及安装使用

Windows下通过ARM目标板上的gdbserver进行远程调试的方法