Javascript 在V8引擎的Mac Pro X86_64中发布运行示例?

Javascript 在V8引擎的Mac Pro X86_64中发布运行示例?,javascript,c++,v8,Javascript,C++,V8,最近,我尝试构建并运行GoogleV8的hello world示例程序。 我的xcode版本是4.0.2GA,x86_64 指南链接: 但在运行命令时: g++-i包括hello_world.cpp-o hello_world libv8.a-lpthread 错误显示: ld: warning: ignoring file libv8.a, file was built for archive which is not the architecture being linked (x86_64

最近,我尝试构建并运行GoogleV8的hello world示例程序。 我的xcode版本是4.0.2GA,x86_64

指南链接:

但在运行命令时: g++-i包括hello_world.cpp-o hello_world libv8.a-lpthread

错误显示:

ld: warning: ignoring file libv8.a, file was built for archive which is not the architecture being linked (x86_64)
Undefined symbols for architecture x86_64:
"v8::Context::Enter()", referenced from:
      v8::Context::Scope::Scope(v8::Handle<v8::Context>)in ccJsmYlc.o
  "v8::V8::DisposeGlobal(v8::internal::Object**)", referenced from:
      v8::Persistent<v8::Context>::Dispose()      in ccJsmYlc.o
  "v8::Context::Exit()", referenced from:
      v8::Context::Scope::~Scope()in ccJsmYlc.o
  "v8::HandleScope::HandleScope()", referenced from:
      _main in ccJsmYlc.o
  "v8::Context::New(v8::ExtensionConfiguration*, v8::Handle<v8::ObjectTemplate>, v8::Handle<v8::Value>)", referenced from:
      _main in ccJsmYlc.o
  "v8::String::New(char const*, int)", referenced from:
      _main in ccJsmYlc.o
  "v8::Script::Compile(v8::Handle<v8::String>, v8::ScriptOrigin*, v8::ScriptData*, v8::Handle<v8::String>)", referenced from:
      _main in ccJsmYlc.o
  "v8::Script::Run()", referenced from:
      _main in ccJsmYlc.o
  "v8::String::AsciiValue::AsciiValue(v8::Handle<v8::Value>)", referenced from:
      _main in ccJsmYlc.o
  "v8::String::AsciiValue::~AsciiValue()", referenced from:
      _main in ccJsmYlc.o
  "v8::HandleScope::~HandleScope()", referenced from:
      _main in ccJsmYlc.o

ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status.
ld:警告:忽略文件libv8.a,该文件是为归档文件生成的,而归档文件不是要链接的体系结构(x86_64)
架构x86_64的未定义符号:
“v8::Context::Enter()”,引用自:
ccJsmYlc.o中的v8::Context::Scope::Scope(v8::Handle)
“v8::v8::DisposeGlobal(v8::internal::Object**)”,引用自:
ccJsmYlc.o中的v8::Persistent::Dispose()
“v8::Context::Exit()”,引用自:
ccJsmYlc.o中的v8::Context::Scope::~Scope()
“v8::HandleScope::HandleScope()”,引用自:
_ccJsmYlc.o中的主管道
“v8::Context::New(v8::ExtensionConfiguration*,v8::Handle,v8::Handle)”,引用自:
_ccJsmYlc.o中的主管道
“v8::String::New(char const*,int)”,引用自:
_ccJsmYlc.o中的主管道
“v8::Script::Compile(v8::Handle,v8::ScriptOrigin*,v8::ScriptData*,v8::Handle)”,引用自:
_ccJsmYlc.o中的主管道
“v8::Script::Run()”,引用自:
_ccJsmYlc.o中的主管道
“v8::String::Ascivalue::Ascivalue(v8::Handle)”,引用自:
_ccJsmYlc.o中的主管道
“v8::String::Ascivalue::~Ascivalue()”,引用自:
_ccJsmYlc.o中的主管道
“v8::HandleScope::~HandleScope()”,引用自:
_ccJsmYlc.o中的主管道
ld:找不到架构x86_64的符号
collect2:ld返回了1个退出状态。

很明显,您正在尝试链接为另一个体系结构构建的.a。查看以了解如何检查其目标体系结构。一旦知道可以重新确定项目的目标,或者为x86_64体系结构创建新的libv8.a。

我检查了默认值是a32,然后使用scons arch=x64重建,效果很好。谢谢很高兴听到-请花时间接受答案-