私はちょうど、v8拡張機能(Node.JS docsとv8 API docsの指示に従う)を介してCライブラリ(正確にはリンク文法)へのバインディングを書くことから始めています。 。私が続いてきたかのようにnode.jsのv8拡張機能 - ターゲットにFunctionTemplateを設定できません
#include <v8.h>
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include "link-includes.h"
using namespace v8;
Dictionary dict;
Parse_Options opts;
static Handle<Value> v8parse(const Arguments& args)
{
/* snip */
}
extern "C" void init (Handle<Object> target)
{
HandleScope scope;
target->Set(String::New("parse"), FunctionTemplate::New(v8parse));
setlocale(LC_ALL, "");
opts = parse_options_create();
dict = dictionary_create_lang("en");
}
私は感じて次のコードをビルドしようとすると...
/usr/include/v8.h: In constructor âv8::Handle<T>::Handle(v8::Handle<S>) [with S = v8::FunctionTemplate, T = v8::Value]â:
node.cc:85:68: instantiated from here
/usr/include/v8.h:195:5: error: cannot convert âv8::FunctionTemplate*â to âv8::Value* volatileâ in assignment
:
私の問題は、私は次のビルドエラーを取得していますということです上記のリンクの指示、リンク先の例のパターンに従っていますが、上記のエラーが発生します。そこでは最も鮮明なC++コーダーではないので、エラーは私を顔で見つめている可能性が非常に高いです。悲しいかな、私は迷っています。
素晴らしい、ありがとう!そのマクロを使用すると、これはもう少し自己文書化しているようです。まだC++のビルドに手が届かずにいますが、それでこの問題を乗り越えてしまいます。p – Stoive