Я пытался скомпилировать V8. Я получил копию папки v8-master от GitHub, но не могу понять, как ее скомпилировать. Многие документы, которые я мог найти в Интернете, противоречат друг другу.
Из того, что я собрал, кажется, что мой лучший шанс заставить его скомпилироваться (из различных методов, которые я нашел, хотя я не мог заставить их работать), это создать файлы проекта, вызвав скрипт gyp_v8 (находится в папке сборки v8-master). Но это просто дает мне File "gyp_v8", line 86
print 'Error running GYP'
SyntaxError: Missing parentheses in call to 'print'
, Оттуда я попытался установить Gyp (поскольку, согласно документации, я уверен, что именно это и является причиной ошибки). Это потребовало от меня, чтобы установить depot_tools и сделать gclient sync
, Это не удалось с ошибкой Error: client not configured; see 'gclient config'
, А также gclient config
терпит неудачу с ошибкой gclient.py: error: Inconsistency arguments. Use either --spec or one or 2 args
,
Честно говоря, я потерян в этот момент. Есть ли способ, которым я мог бы просто использовать CMake или что-то? Или, по крайней мере, учебник по сборке, в котором не предполагается, что у вас есть набор инструментов для сборки, специфичных для Google?
Файл летучей мыши:
@echo on
CD /D %~dp0
SET DEPOT_TOOLS_WIN_TOOLCHAIN=0
SET DEPOT_TOOLS=%CD%/depot_tools
SET PYTHONHOME=%DEPOT_TOOLS%/python276_bin
SET PYTHONPATH=%CD%/v8/build/gyp
SET PATH=%DEPOT_TOOLS%;%PYTHONHOME%;%PATH%
SET GYP_DEFINES=target_arch=x64
REM SET GYP_DEFINES=target_arch=x64 component=shared_library v8_use_snapshot=false
REM About GYP_DEFINES: https://github.com/v8/v8/wiki/Building-with-Gyp
IF EXIST %DEPOT_TOOLS% (
ECHO Updating depot_tools
CD %DEPOT_TOOLS%
CALL git pull
CD ..
) ELSE (
ECHO Getting depot_tools
CALL git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
)
CALL gclient
CALL gclient config https://chromium.googlesource.com/v8/v8.git
CALL gclient sync
Ранее я создавал V8 из исходного кода для Visual Studio 2010, а затем для Visual Studio 2013. В обоих случаях задачи занимали очень много времени. Однако для Visual Studio 2017 я обнаружил, что заголовки и готовые библиотеки доступны от NuGet. Мне больше не нужно строить из источника.