v8go 库手动编译 v8 golang 库手动编译

v8go 手动编译

v8 engine support golang bindding : https://rogchap.com/v8go

克隆项目

1.克隆项目
git clone https://github.com/rogchap/v8go.git

在克隆过程中最好使用proxy 不然速度非常的慢

export http_proxy=http://$host:$port
export https_proxy=http://$host:$port
2.克隆完后初始化submodule
cd v8go
git submodule init
# 加载submodule
git submodule update 
3.Ubuntu18.04 测试编译

作者提供一个编译工具 在deps/build.py所以我们可以先尝试执行Build.py,如果报错可以看错误进行依赖的构建,大概这些是需要整理的

# 1.找不到gclient 这个需要再检查submodule是否初始化完毕,这个依赖是在depot_tools 中
# 2.找不到pkg-config
sudo apt install pkg-config -y
# 3.找不到glib
 sudo apt-get install libglib2.0-dev

最终编译后,ubuntu下会生成一个 obj/libv8_monolith.a拷贝到对应build文件就可以了
在这里插入图片描述

关于win v8

目前v8go 库在win上编译不了,好像是因为go不支持msbuild,仅支持gcc进行编译???反正我调试了很久都没编译成功,v8go也有相关issue,然后有一个go写的js引擎那个性能太低了,完全没办法用玩玩倒是可以,最终解决方案是,依赖rustv8编译成dll或者or so文件(rustv8 使用的不是gcc之类的编译,好像是编译好的lib并且用的是msvs进行编译才可),然后调用call,或者 做一个 server 调用rpc,虽然麻烦,但是目前解决方案,如果有人在win上解决欢迎联系我

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值