here にあるように、GoogleのV8の基本的な「Hello World」の例に従おうとしています。私はUbuntu 13.10、gccバージョン4.8.1を使用しています。これは簡単なはずですよね?
v8 自体をビルドし、hello world .cpp ファイルを作成した後、実行します (Google が提案するとおり **)。
**更新: わかりました。以下の受け入れられた回答に対する私のコメントによると、ファイル名の中括弧は、 構文ではなく 1 つのオプションを選択するよう読者に指示していると考えたため、無意識のうちに Google が示唆するとおりに実行していませんでした。そのg ++は理解できます。それにもかかわらず、以下の回答で提案されている追加を除いて、まだ機能しません
g++ -Iinclude helloworld.cpp -o hello_world out/x64.debug/obj.target/tools/gyp/libv8_base.x64.a -lpthread
そして、コンパイルエラーに襲われます。ここに印刷するには多すぎますが、ほとんどすべてのエラーは次の形式です。
undefined reference to 'icu_46 ...'
たとえば(いくつかのサンプル行)
/home/ray/Playground/v8/out/../src/i18n.cc:138: undefined reference to `icu_46::UnicodeString::~UnicodeString()'
/home/ray/Playground/v8/out/../src/i18n.cc:125: undefined reference to `icu_46::UnicodeString::~UnicodeString()'
/home/ray/Playground/v8/out/../src/i18n.cc:147: undefined reference to `icu_46::UnicodeString::~UnicodeString()'
多くのグーグル検索の後、これはICUと呼ばれるものと関係があることがわかります(http://userguide.icu-project.org/howtouseicuを参照)が、なぜエラーが発生するのか、それに対して何ができるのか、私はわからない。
エラーの大部分は icu_46 に関連していますが、「bootstrapper.o」からの次のようなものもあります。
/home/ray/Playground/v8/out/x64.debug/obj.target/v8_base.x64/src/bootstrapper.o: In function `v8::internal::Bootstrapper::NativesSourceLookup(int)':
/home/ray/Playground/v8/out/../src/bootstrapper.cc:77: undefined reference to `v8::internal::NativesCollection<(v8::internal::NativeType)0>::GetBuiltinsCount()'
/home/ray/Playground/v8/out/../src/bootstrapper.cc:81: undefined reference to `v8::internal::NativesCollection<(v8::internal::NativeType)0>::GetRawScriptSource(int)'
/home/ray/Playground/v8/out/x64.debug/obj.target/v8_base.x64/src/bootstrapper.o: In function `v8::internal::Genesis::CompileBuiltin(v8::internal::Isolate*, int)':
/home/ray/Playground/v8/out/../src/bootstrapper.cc:1448: undefined reference to `v8::internal::NativesCollection<(v8::internal::NativeType)0>::GetScriptName(int)'
私はこれについて際限なくグーグルで調べており、他の人が問題に遭遇したという兆候を見つけましたが、解決策はありません. どんな助けでも大歓迎です。ありがとうございました。