三、VS2019编译v8引擎

在继续上一篇关于C++使用v8引擎执行JavaScript的内容时,遇到编译问题。由于v8默认使用clang和libc++,而项目环境使用libstdc++,导致inline namespace __1冲突。尝试通过gn命令行编译并设置不使用clang,但编译在v8.dll链接阶段失败。尝试了两种方法:命令行编译和生成VS工程,结果均告失败,报错相同。寻求解决方案。
摘要由CSDN通过智能技术生成

        接着上一篇实践发现的问题《C++使用v8引擎执行JavaScript_永远的魔术1号-CSDN博客》,我在网上查找了很多资料,原因都是说,由于v8默认使用了clang编译,而clang使用的是libc++作为C++标准库,而demo使用的环境则是使用libstdc++作为标准库,两种标准库不同,存在inline namespace __1的问题。

        然后又看到网上又很多提到可以使用gn命令编译,在命令中增加参数控制不使用clang,于是我尝试着编译了一下。先说一下结果,编译过程在v8.dll LINK的阶段失败了。

方法一:

call gn gen out/x64.release --args="is_debug=false use_glib=false is_component_build=true v8_use_external_startup_data=true v8_static_library=false is_clang = false v8_enable_i18n_support=false target_cpu=\"x64\""
call ninja -C out
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值