不久前,我使用了 V8 开发人员的指导,如何使用他们旧的元构建系统 GYP 和 Microsoft VC++ 编译器(来自 Visual Studio)构建 V8。这非常简单:使用 GYP 生成 .sln 文件,使用 Microsoft VC++ 编译器构建它。不幸的是,这条指令不再可用,因为 Google 转向了另一个元构建系统(称为 GN)并放弃了 GYP。
这并不是真正的问题,因为 GN 也可以创建 sln 文件 - 但是,据我了解,他们不再支持 Microsoft 编译器。他们发布并使用 clang 在 Windows 上构建 V8(即使您从 Visual Studio 构建它)。
所以,我的问题是:当前的 V8 代码主干是否可以创建 sln 文件,该文件可以在 Visual Studio(假设是 2017)中打开,并且可以使用 Microsoft C++ 编译器进行构建?
这是三个独立的问题: (1) 是否可以使用 GN 生成 .sln 文件以在 Visual Studio 中打开?(2) 是否可以用MSVC编译器编译V8?(3) 是否可以在 Visual Studio 中构建 V8?
(1) 是的。简而言之,跑gn gen --ide=vs。请参阅https://www.chromium.org/developers/gn-build-configuration。
(2)是的。放入is_clang = false你的args.gn(可通过运行编辑gn args out\my_build_folder),然后像往常一样用 ninja 进行编译。这是经过持续测试的,因此可以保证继续工作(只要 V8 正式支持 MSVC 编译器)。
(3)我不这么认为。您可以尝试使用生成的 .sln,但构建过程相当复杂(构建一个工具的几个阶段,然后运行它以生成下一步使用的输出),并且我认为 .sln 主要只包含文件列表,但没有具体说明如何编译它们。
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |