Visual studio 2013 如何为Windows编译尽可能小的V8库?
我正在为学校制作一个游戏引擎,我想使用Google的V8在引擎中支持JavaScript脚本。该引擎是使用Visual Studio 2013编写的,因为最终游戏的容量不能超过50MB,所以我希望V8文件大小的影响尽可能小 在互联网上查找如何使用V8时,我遇到了一个用于V8的预编译.lib文件。然而,它已经四年了。我假设自己构建一个更新的版本可以提高性能并添加功能,所以我昨天花了一整天的时间在V8构建过程中苦苦挣扎,最终找到了为Visual Studio编译V8的方法:Visual studio 2013 如何为Windows编译尽可能小的V8库?,visual-studio-2013,v8,embedded-v8,Visual Studio 2013,V8,Embedded V8,我正在为学校制作一个游戏引擎,我想使用Google的V8在引擎中支持JavaScript脚本。该引擎是使用Visual Studio 2013编写的,因为最终游戏的容量不能超过50MB,所以我希望V8文件大小的影响尽可能小 在互联网上查找如何使用V8时,我遇到了一个用于V8的预编译.lib文件。然而,它已经四年了。我假设自己构建一个更新的版本可以提高性能并添加功能,所以我昨天花了一整天的时间在V8构建过程中苦苦挣扎,最终找到了为Visual Studio编译V8的方法: 安装谷歌的 运行fetc
fetchv8
- cctest.lib
- gmock.lib
- gtest.lib
- icui18n.lib
- icuuc.lib
- mksnapshot.lib
- unittest.lib
- v8.lib
- v8_base.lib
- v8_libbase.lib
- v8_libplatform.lib
- v8_nosnapshot.lib
- v8_snapshot.lib
- icudt.dll
- icui18n.dll
- icuuc.dll
- v8.dll
svn签出http://v8.googlecode.com/svn/trunk v8版本
svn签出http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844 v8版本/第三方/cygwin
svn签出http://gyp.googlecode.com/svn/trunk@1831 v8版本/gyp
svn签出https://src.chromium.org/svn/trunk/deps/third_party/icu46@258359 v8构建/第三方/icu
set CYGWIN\u ROOT=%cd%\v8 build\third\u party\CYGWIN
设置路径=%CYGWIN\u ROOT%\bin;%路径%
set PYTHONPATH=%cd%\v8 build\gyp\pylib
v8 build\third\u party\cygwin\setup\u mount.bat
v8构建\第三方\cygwin\setup\u env.bat
pythonv8 build\build\gyp\uv8-Dcomponent=static\u library-Dtarget\u arch=x64-v8\u enable\u i18n\u support=0-Dv8\u use\u snapshot=0
msbuild/m/p:useev=true/p:Configuration=Release/p:Platform=x64 v8 build\tools\gyp\v8.vcxproj
v8build\build
目录中更新:我使用类似的脚本为V8构建NuGet软件包,以下是:我知道这篇文章很老,但我将改进pmed的答案。我假设您已经在windows机器上安装了Python(只需从官方页面安装它,并将Python根目录添加到PATH变量中)以及Git Bash。我将使用“~/”表示您的用户目录 编译V8最简单的方法是使用depot工具,只需创建一个目录,比如~/devtools/google,使用git bash运行
cd ~/devtools/google
git clone git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
然后将~/devtools/google/depot_工具添加到PATH变量中
使用powershell运行
cd ~/devtools/google
fetch v8
这将克隆V8引擎及其所有依赖项gyp、cygwin等的文件
此时,您可以按照pmed在步骤7中的回答,只需更改环境变量的目录:
我使用安装路径\v8\来表示~/devtools/google/v8
CYGWIN_ROOT=Path-to-your-installation\v8\third_party\cygwin
PATH=%CYGWIN_ROOT%\bin;%PATH%
PYTHONPATH=Path-to-your-installation\v8\build\gyp\pylib
然后运行(在PowerShell中)
安装路径\v8\build\third\u party\cygwin\setup\u mount.bat
安装路径\v8\build\third\u party\cygwin\setup\u env.bat
visual studio项目将位于
安装路径\v8\tools\gyp*
您可以使用VisualStudio打开v8项目并进行编译
我费了好大劲才弄明白为什么在Git bash中“fetch v8”会以某种方式失败,显然,您必须使用PowerShell(可能也是经典的cmd?)
PS:如果您在编译时遇到问题(无法重新映射[…]cygncurses-8.dll),请看这篇文章
注意。可以在不支持i18n的情况下编译V8,以便进行测试