0

これがdart-sqliteです:https://github.com/sam-mccall/dart-sqlite

32bit版が必要なのでビルドしてみました。また、32bitで入手することは可能ですか?

dart-sdk へのパスを設定し、sqlite ソースへのパスを設定して、ビルドしようとしています:

D:\Contrib\dart-sqlite>build
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

dart_sqlite.cc
src\dart_sqlite.cc(42) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(43) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(44) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(97) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(121) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(123) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(124) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(195) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(229) : error C3861: 'Dart_NewString': identifier not found
src\dart_sqlite.cc(266) : error C3861: 'Dart_IsString8': identifier not found
Generating Code...
Compiling...
sqlite3.c
Generating Code...

コンパイラを切り替える必要があります..? それとも私が見逃しているものがありますか?

4

2 に答える 2

2

私たちのコードでの Dart_NewString のほとんどの使用は、ユーティリティ関数 NewString に置き換えられました。

// Create a new Dart String object from a C String.
static Dart_Handle NewString(const char* str) {
  ASSERT(str != NULL);
  return Dart_NewStringFromUTF8(reinterpret_cast<const uint8_t*>(str),
                                strlen(str));
}

このユーティリティ関数を dart_sqlite に含めるか、Dart_NewStringFromUTF8 を直接使用することができます。

Dart 実行可能ファイルには、dart:io でセキュア ソケットを実装するために使用される NSS (Mozilla の Network Security Services) の一部として、sqlite ライブラリが含まれるようになったため、追加の問題が発生する可能性があります。

于 2012-11-19T08:58:55.577 に答える
1

最新の SDK ヘッダー ファイルをざっと見てみると、Dart_NewString はもう存在しません。次の署名が利用可能であるため、sam のコードを更新する必要がある場合があります。

16:53:48-adam@Adams-MacBook-Air:~/dart_bleeding/dart/runtime/include
$ grep -r Dart_NewString *
dart_api.h:DART_EXPORT Dart_Handle Dart_NewStringFromCString(const char* str);
dart_api.h:DART_EXPORT Dart_Handle Dart_NewStringFromUTF8(const uint8_t* utf8_array,
dart_api.h:DART_EXPORT Dart_Handle Dart_NewStringFromUTF16(const uint16_t* utf16_array,
dart_api.h:DART_EXPORT Dart_Handle Dart_NewStringFromUTF32(const uint32_t* utf32_array,
于 2012-11-17T00:54:22.427 に答える