c++ - v8::Isolate::New 空访问冲突

标签 c++ v8 embedded-v8 libv8

我使用的是使用 Visual Studio 2015 编译的 V8 32 位版本 4.10.253。

我正在尝试运行 Google 在以下位置提供的示例: Chrome V8 - Getting Started

但是当我尝试运行它时,我得到:

Exception thrown at 0x00000000 in V8Test.exe: 0xC0000005: Access 
violation executing location 0x00000000.

我在执行以下命令时得到了这个:

Isolate* isolate = Isolate::New(create_params);

我的项目设置:

为了让项目在调试中编译,我将运行时库设置为:

Multi-threaded Debug /MTd.

我在其他包含目录下包含 v8 包含目录。

最后,我包括以下库:

icuuc.lib icui18n.lib v8_libplatform.lib v8_external_snapshot.lib
v8_base_3.lib v8_base_2.lib v8_base_1.lib v8_base_0.lib v8_libbase.lib
winmm.lib

有人知道我做错了什么吗?提前致谢。

最佳答案

好吧,我觉得自己很蠢。我没有读完本教程的其余部分。您必须复制存储可执行文件的所有 .bin 文件。具体来说:

natives_blob.bin
snapshot_blob.bin

如果不这样做,V8 将在 Isolate::New 处崩溃。

关于c++ - v8::Isolate::New 空访问冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36833992/

相关文章:

c++ - 在处理顺序访问的对象时,链表与数组的性能相比?

c++ - 为什么clang不编译在VS2012中可用的源代码?

c++ - v8::ScriptCompiler::Source 对象 - 这可以保留或稍后检索吗?

c++ - 嵌入 Mono 与 Google V8?

c++ - 使用 {fmt} 引用一个字符串

c++ - OSX Eclipse CDT - 根样式包括

javascript - Google 的 V8 引擎真的限制每个进程 1 个 VM 吗?

google-apps-script - 由 Chrome V8 提供支持的新 Apps 脚本运行时缺少执行脚本

c++ - 带有示例的嵌入式 Google v8 内存泄漏

node.js - 为什么要将 Local<Value>::New 与 String::New() 一起使用