1

NodeJS アドオンで ToCString を使用しようとしています。

String::Utf8Value foo_utf8(args[0]->ToString());
const char *foo = ToCString(foo_utf8);

ヘッダーが見つかりません。手動でプロトタイプを作成すると、次のようになります。

const char* ToCString(const v8::String::Utf8Value& value);

次に、次の実行時エラーが発生します。

node: symbol lookup error: /home/chris/Dropbox/cbackend/build/Release/cbackend.node: 
undefined symbol: _Z9ToCStringRKN2v86String9Utf8ValueE

V8 文字列引数を null で終わる 8 ビット C 文字列に変換するにはどうすればよいですか?

4

2 に答える 2

1

ToCString 関数 (それがどこにあっても) は簡単なので、回避策を見つけました。追加するだけです:

const char* ToCString(const v8::String::Utf8Value& value) {
  return *value ? *value : "<string conversion failed>";
}
于 2012-06-25T14:47:05.280 に答える