v8引擎编译全过程

环境vs2019

cmd 命令行需要设置成为代理模式

set http_proxy=http://127.0.0.1:10809

set https_proxy=http://127.0.0.1:10809

这个必须带上,不然报错,告诉编译器win系统的模式

set DEPOT_TOOLS_WIN_TOOLCHAIN=0

源码

GitHub: GitHub - v8/v8: The official mirror of the V8 Git repository.

创建V8文件夹

下载depot_tools工具,并添加到系统环境变量之中

git clone https://chromium.googlesource.com/chromium/tools/depot_tools

重新开CMD命令行

set DEPOT_TOOLS_WIN_TOOLCHAIN=0

fetch v8

gclient sync

拉取V8代码

编译过程

set "GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"

set "WINDOWSSDKDIR=C:\Program Files (x86)\Windows Kits\10"

set "vs2019_install=C:\Program Files (x86)\Microsoft Visual Studio\2019"

set DEPOT_TOOLS_WIN_TOOLCHAIN=0

python build\vs_toolchain.py update --force

gn gen out.gn/ia32.release --args="is_debug=false target_cpu=\"ia32\" v8_static_library=true v8_use_external_startup_data=false v8_use_snapshot=false"

编译V8:使用ninja工具来编译V8。你可以使用以下命令来编译:

ninja -C out.gn/ia32.release v8

生成DLL:编译完成后,就得到了V8DLL

相关推荐
酷炫码神1 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
酷炫码神4 小时前
Day 8|Vue3 响应式:告别手动操作 DOM,让数据驱动界面
javascript·vue.js·ecmascript
syagain_zsx4 小时前
BRpc 二次封装:Channel 管理、服务管理与回调工厂
c++·学习·程序人生·rpc·谷歌
码林鼠5 小时前
flutter状态管理入门教程-Riverpod
开发语言·javascript·flutter
fpcc5 小时前
计算机原理—如何高效的操作文件
c++·计算机原理
互影派5 小时前
分享:Cocos 互动影游一套代码双端分发(Web H5 + Windows/Steam)实践
javascript
Rabitebla5 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
system_error_x5 小时前
C++ 编程基础入门教程
开发语言·c++
Amos_Web5 小时前
Markdonw语法
开发语言·前端·javascript
全栈项目管理程序猿6 小时前
ArcGIS JS 基础教程(34):体元系列 - 等值面 VoxelIsosurface
前端·javascript