首页
社区
课程
招聘
[原创]用vs2008 sp1编译v8,完成
发表于: 2013-6-12 13:43 10808

[原创]用vs2008 sp1编译v8,完成

2013-6-12 13:43
10808
v8更新啦,昨天下载下来,用原来的编译方法,一运行scon,发现,编译不了,少了个什么文件,
去v8网站一看,发现没有以前的buildonwindows文档了,发现现在是使用gyp编译。
于是按他的做法,去下载许多的东西,发现许多的链接不能使用,就这样折腾了一下午,无果,编译失败
晚上回家,想,干脆自己用vs把原代码加入工程中来编译,结果还是失败,主要是natives.h中的代码未实现,xxx
今天,跑公司来,再次使用网站上讲的方法,老老实实地使用gyp来编译,麻烦呀,先下载一个cygwin,不知道咋搞的,不会使用。乱搞,最终生成了sln文件,一编译,又出错,折腾了半天,老老实实地,把文档中所讲的第三方的东西,按文档中所说的版本号,文档中所说的地址,全部放好。
最终,终于编译出来了,哈哈
下面,我按照那个sln,自己来创建了一个工程,把一些需要的东西加入进去。实现了自己编译。给需要的朋友。
下面的附件中的工程,直接编译即可, 我的编译环境是vs2008 sp1,注意啦,sp1,如果不是sp1,怕是打不开工程,你得使用更高的版本才能打开。

原来的v8编译,需要下载n多东西,很麻烦,希望这两天的努力没有白费,给需要的朋友

再讲讲为什么natives.h 中的东西没有实现,因为他里面的东西,其实是js代码,以二进制的形式放进了c代码中,使用python来生成的。生成的文件很大,1-2m左右,

附上v8编译方法,给需要的朋友参考

svn check out
http://v8.googlecode.com/svn/trunk

安装python27
下载scons.zip,并解压

//设置路径
set path=C:\Python27;C:\Python27\Scripts;%path%;
下载GYP,下载地址:http://www.bego.cc/file/18974263;svn co http://gyp.googlecode.com/svn/trunk build/gyp
命令行下转到GYP所在目录,键入命令 python setup.py install  安装,完成后Python会增加scripts目录
下载并安装CygWin,这个可以在官网下 http://cygwin.com/
命令行转到V8所在目录,执行 python build\gyp_v8 ,将会在该目录下生成all.sln项目文件

另一方法,注意,这里的工程是上面的方法生成的

在Win7上编译 google V8
一、环境
编译工具:VS2012 Express
操作系统:Win7旗舰版 64
SVN客户端

二、下载
1、创建目录v8,用v8目录,check out: http://v8.googlecode.com/svn/trunk/
2、创建目录v8\build\gyp,用gyp目录,check out:http://gyp.googlecode.com/svn/trunk
3、创建目录v8\third_party\cygwin,用cygwin目录,check out:http://src.chromium.org/svn/trunk/deps/third_party/cygwin
4、创建目录v8\third_party\python_26,用python_26目录,check out:http://src.chromium.org/svn/trunk/tools/third_party/python_26

注:上面的check out目录同https://code.google.com/p/v8/wiki/BuildingWithGYP一文所述目录不一致,文中所述目录是无效的。

三、编译
1、打开VS2012 开发人员命令提示。
2、cd v8目录。
3、执行命令:
   third_party\python_26\python.exe build\gyp_v8 -G msvs_version=2010
   系统显示
   Updating projects from gyp files...
4、在命令行中输入:build\all.sln,回车。
5、系统自动打开VS2012 IDE环境。
6、在IDE环境项目菜单中,更新项目,升级项目文件。
7、编译。

v8_vs2008.part01.rar

v8_vs2008.part02.rar

v8_vs2008.part03.rar

v8_vs2008.part04.rar

[课程]FART 脱壳王!加量不加价!FART作者讲授!

上传的附件:
收藏
免费 5
支持
分享
最新回复 (7)
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
看来对v8感兴趣的人不多呢。。。才这么两个人查看呀,顶个
2013-6-13 11:18
0
雪    币: 2166
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
啥是v8都不知道。。
2013-6-13 12:59
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
谷歌的这玩意需要的环境太复杂.而且用的人也不多,除非写浏览器的.
2013-6-13 13:33
0
雪    币: 142
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
java stript引擎?
话说没接触过,哪位稍稍介绍下,有哪些好玩的,或者可以做哪些好玩的?
2013-6-13 15:41
0
雪    币: 263
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
v8是谷歌搞的开源js引擎,据说性能超IE若干倍,嵌在chrome浏览器里,也可以单独拿出来和c++相互调用,就是一个脚本引擎而已,脚本引擎网上有N种,用到脚本也不一定就v8,v8过于复杂,看应用场景了,估计在这儿lua是更好的选择
2013-6-13 17:39
0
雪    币: 151
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
呃……还真不知道,现在了解了
2013-6-15 12:49
0
雪    币: 47
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
谢谢楼主分享,很难得。
2013-6-21 22:31
0
游客
登录 | 注册 方可回帖
返回
//