按照google v8的官方提供的方法,在国内,完成编译简直太难了。
还好nodejs提供离线编译能力,稍微改造一下可以从node源码中直接编译纯净的v8动态库。
直接把v8解压出来的py/gpy文件替换到node源码目录下。
执行下列命令:
python tools/gyp_node.py --no-parallel -f make-linux -I"`pwd`/common.gypi" -I"`pwd`/config.gypi" --depth=. --generator-output="`pwd`/out" -Goutput_dir="`pwd`/out" -Dcomponent=static_library -Dlibrary=static_library -Dlinux_use_bundled_binutils=0 -Dlinux_use_bundled_gold=0 -Dlinux_use_gold_flags=0
make V=1 -C out -j 8
ln -s "`pwd`/out/Release/obj.target/libv8.so" libv8.so
在node-v11.1.0版本上测试通过。