编译 Google V8 Script Engine
1.下载安装
a) Python 2.7.0
安装到E:\Python27后,path环境变量加上 ;E:\Python27;E:\Python27\Scripts
b)Scons-2.0.1.win32.exe
http://sourceforge.net/projects/scons/files/scons/2.0.1/scons-2.0.1.win32.exe/download
安装时,会自动识别到Python的安装目录,一路next就可以。安装完后,会在E:\Python27\Scripts生成一个scons.bat文件。
c)Google V8 Script Engine
svn 地址: http://v8.googlecode.com/svn/trunk/
在windows 上直接用TortoiseSvn下载到d:\v8
2.编译v8 源代码
打开Visual Studio 2005 Command Prompt 命令行,输入以下命令,
a)静态编译
Cd /d d:\v8 scons mode=release library=static snapshot=on 编译成功后,会生成v8.lib, 文件大小有200M,有点吓人。b)动态编译
Cd /d d:\v8 scons mode=release library=shared snapshot=on 编译成功后,会生成v8.dll 2M多及v8.lib导入库
3.编写v8 Hello world
这里主要就是用到v8.lib,v8.h 两个文件 ,简单的运行一段javascript脚本,输出Hello world
D:\v8\Hello_world.cpp
#include <v8.h> using namespace v8; int main(int argc, char* argv[]) { // Create a stack-allocated handle scope. HandleScope handle_scope; // Create a new context. Persistent<Context> context = Context::New(); // Enter the created context for compiling and // running the hello world script. Context::Scope context_scope(context); // Create a string containing the JavaScript source code. Handle<String> source = String::New("'Hello' + ', World!'"); // Compile the source code. Handle<Script> script = Script::Compile(source); // Run the script to get the result. Handle<Value> result = script->Run(); // Dispose the persistent context. context.Dispose(); // Convert the result to an ASCII string and print it. String::AsciiValue ascii(result); printf("%s\n", *ascii); return 0; }
编译
cl Hello_world.cpp /I include v8.lib ws2_32.lib v8.lib winmm.lib
参考文章
How to Download and Build V8
http://code.google.com/apis/v8/build.html
v8 Building on Windows
http://code.google.com/p/v8/wiki/BuildingOnWindows
google V8配置过程中的一些问题
http://hi.baidu.com/superkiki1989/blog/item/5c388fefc1902bdf2f2e21a4.html
在线google文档
http://bespin.cz/~ondras/html/classv8_1_1TryCatch.html#2811e500fbb906ee505895a3d94fc66f