继上次实践中发现的问题《C++使用v8引擎执行JavaScript_永远的魔术1号-CSDN博客》之后,我在网上找了很多资料。 这是因为,v8缺省使用clang编译,clang使用libc作为c标准库,而demo使用libstdc作为标准库。 两个标准库不同,存在inline namespace __1
而且,在网上有很多提到可以用gn命令编译,看到在命令中添加参数控制不使用clang,就试着进行了编译。 首先说结果,编译过程在v8.dll LINK阶段失败。
方法1 :
call gn gen out/x64.release-- args=' is _ debug=false use _ glib=false is _ component _ build=true V8 _ use _ exxex ' x64' call ninja-cout/x64.release这是一个在命令行中编译并在编译时由cmd.exe调用的子进程
方法2 :
call gn gen out/x64.release --i