我已经在 Ubuntu 上编译了V8,并且有一个非常简单的 V8 程序,叫做isolate_test.cc。它基于Google 的 Hello World 示例:
#include <v8.h>
using namespace v8;
int main(int argc, char* argv[]) {
V8::initialize();
Isolate* isolate = Isolate::GetCurrent(); //Always returns NULL
return 0;
}
我用来编译这个程序的命令是:
g++ -Iinclude -g isolate_test.cc -o isolate_test -Wl,--start-group out/x64.debug/obj.target/{tools/gyp/libv8_{base,snapshot},third_party/icu/libicu{uc,i18n,data}}.a -Wl,--end-group -lrt -lpthread
问题Isolate::GetCurrent()
总是退货NULL
。为什么会发生这种情况,获取电流的正确方法是Isolate
什么?
我可能会偏离轨道,但我的第一个想法是这与Isolate::GetCurrent()
无法从libpthread
.
更新:根据这个问题,我已将其添加V8::initialize()
为程序中的第一个调用,但这并不能解决问题。