VC8.0中使用JavaScript引擎V8
2010年2月1日 18:52 by webphoenix
1.获取V8的最新源代码,Google上有详细的获取方法
2.编译V8,这个Google上也有详细的教程,在这里提醒一下,你可以使用VC8编译V8,也可以使用scons命令编译,最好是编译两个版本,一个Debug版,一个Release版,这样可以方便调试时使用
3.新建VC8工程,在工程的目录下新建一个include目录,然后把 v8/include下的v8.h文件复制到自己建立的include目录下
4.工程目录下新建lib目录,将编译出来的v8的debug和Release版本的lib文件复制到这里
5.资源视图下右键单击项目,选择属性,弹出工程的属性对话框,选择“配置属性” -> “链接器” -> “输入” 在“附加依赖项”处输入v8的lib文件,如 lib/v8_release.lib,注意这里你需要根据你的程序模式输入不同的lib文件,如果你是Debug模式,你必须输入debug版的v8.lib,否则可能会引起异常。
6.在程序的.h或.cpp文件的输入下面这段:
#include "include/v8.h" using namespace v8;
7.在你需要的地方添加上相关的v8调用代码
8.编译运行
注意如果编译的时候出现:
v8_debug.lib(platform-win32.obj) : error LNK2019: 无法解析的外部符号 __imp__timeGetTime@0,该符号在函数 “public: void __thiscall v8::internal::Time::SetToCurrentTime(void)” (?SetToCurrentTime@Time@internal@v8@@QAEXXZ) 中被引用
请在using namespace v8前加上对 winmm.lib 的调用,代码如下:
v8_debug.lib(platform-win32.obj) : error LNK2019: 无法解析的外部符号 __imp__timeGetTime@0,该符号在函数 “public: void __thiscall v8::internal::Time::SetToCurrentTime(void)” (?SetToCurrentTime@Time@internal@v8@@QAEXXZ) 中被引用
请在using namespace v8前加上对 winmm.lib 的调用,代码如下:
#include "include/v8.h" #pragma comment(lib,"winmm.lib") using namespace v8;
基本步骤就是这么多,暂时还没有出现什么异常
