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

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

2013-6-12 13:43
11035

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
1fcK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4j5^5i4K6u0W2k6$3!0G2k6$3I4W2j5$3!0V1k6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4$3L8W2)9J5c8Y4c8J5N6h3&6C8

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

//设置路径
set path=C:\Python27;C:\Python27\Scripts;%path%;
下载GYP,下载地址:c3fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0W2k6$3!0Q4x3X3g2U0j5#2)9J5c8X3k6A6L8r3g2Q4x3V1j5I4z5o6V1%4y4o6t1$3x3#2)9K6b7Y4y4$3L8R3`.`. co 20cK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6&6M7q4)9J5k6h3N6G2L8$3N6D9k6h3y4G2k6r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6K6N6X3&6Q4x3V1k6@1M7Y4g2F1K9H3`.`. build/gyp
命令行下转到GYP所在目录,键入命令 python setup.py install  安装,完成后Python会增加scripts目录
下载并安装CygWin,这个可以在官网下 1c7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4&6k6%4N6A6L8W2)9J5k6h3y4G2L8g2)9J5c8R3`.`.
命令行转到V8所在目录,执行 python build\gyp_v8 ,将会在该目录下生成all.sln项目文件

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

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

二、下载
1、创建目录v8,用v8目录,check out: e38K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4j5^5i4K6u0W2k6$3!0G2k6$3I4W2j5$3!0V1k6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4$3L8W2)9J5c8Y4c8J5N6h3&6C8i4K6u0r3
2、创建目录v8\build\gyp,用gyp目录,check out:ee5K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3N6&6M7q4)9J5k6h3N6G2L8$3N6D9k6h3y4G2k6r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6K6N6X3&6Q4x3V1k6@1M7Y4g2F1K9H3`.`.
3、创建目录v8\third_party\cygwin,用cygwin目录,check out:a3bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4J5j5#2)9J5k6h3y4Z5M7X3!0E0K9i4g2E0i4K6u0W2L8%4u0Y4i4K6u0r3M7%4k6F1i4K6u0r3N6s2u0#2L8X3E0Q4x3V1k6V1k6i4m8K6i4K6u0r3N6r3S2A6M7X3c8Q4y4h3k6H3j5i4u0@1P5g2)9J5c8X3y4&6k6%4N6A6L8R3`.`.
4、创建目录v8\third_party\python_26,用python_26目录,check out:c06K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4J5j5#2)9J5k6h3y4Z5M7X3!0E0K9i4g2E0i4K6u0W2L8%4u0Y4i4K6u0r3M7%4k6F1i4K6u0r3N6s2u0#2L8X3E0Q4x3V1k6@1L8$3!0D9M7#2)9J5c8Y4c8Z5K9i4u0V1i4K6g2X3M7r3q4J5N6s2W2Q4x3V1k6H3P5i4c8Z5L8$3&6Q4y4h3j5J5y4R3`.`.

注:上面的check out目录同ac4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0L8$3c8W2i4K6u0W2k6$3!0G2k6$3I4W2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8Y4j5^5i4K6u0r3N6$3W2C8K9g2)9J5c8V1u0#2K9h3I4V1K9h3&6Y4g2$3W2@1K9p5N6k6f1q4!0q4y4q4!0n7z5q4)9^5x3q4!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4W2)9^5z5g2)9^5x3q4!0q4z5q4!0n7c8W2!0n7x3q4!0q4y4#2)9&6b7W2!0m8c8g2!0q4y4g2!0n7c8q4)9&6y4g2!0q4y4q4!0n7z5q4)9^5c8q4!0q4y4q4!0n7z5q4)9^5x3q4!0q4z5q4)9^5y4#2!0n7y4q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4q4!0n7z5q4!0m8c8q4!0q4y4W2)9^5z5g2)9^5x3q4!0q4z5q4!0n7c8W2!0n7x3q4!0q4y4#2)9&6b7W2!0m8c8g2!0q4y4g2!0n7c8q4)9&6y4g2!0q4y4W2)9&6z5q4!0m8c8W2!0q4y4W2)9&6y4#2!0m8x3q4!0q4y4W2)9&6y4g2)9^5z5q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4x3#2)9^5x3q4)9^5x3R3`.`.

三、编译
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


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 5
支持
分享
最新回复 (7)
雪    币: 240
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
看来对v8感兴趣的人不多呢。。。才这么两个人查看呀,顶个
2013-6-13 11:18
0
雪    币: 2166
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
啥是v8都不知道。。
2013-6-13 12:59
0
雪    币: 227
活跃值: (450)
能力值: ( 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
活跃值: (79)
能力值: ( 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
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
谢谢楼主分享,很难得。
2013-6-21 22:31
0
游客
登录 | 注册 方可回帖
返回