問題タブ [dart-ffi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - エラー: getter 'addressOf' は、クラス 'Utf8' に対して定義されていません
/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8.dart:63:33: エラー: ゲッター 'addressOf' が定義されていませんクラス「Utf8」の場合。
「Utf8」は「package:ffi/src/utf8.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/ffi-0.1.3/lib/src/utf8」 .dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。文字列 toString() => fromUtf8(addressOf); ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_svg-0.18.1/lib/src/picture_provider.dart:50:59: エラー: 「nullOk」という名前の名前付きパラメーターはありません。コンテキスト != null ? Localizations.localeOf(context, nullOk: true) : null, ^^^^^^ /C:/src/flutter/packages/flutter/lib/src/widgets/localizations.dart:413:17: コンテキスト: この候補が見つかりました、しかし引数が一致しません。static Locale localeOf(BuildContext context) { ^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-0.0.
「GUID」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。knownFolderID.addressOf、KF_FLAG_DEFAULT、NULL、pathPtrPtr); ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1067:7:エラー: クラス 'LOGFONT' に対して getter 'addressOf' が定義されていません。
「LOGFONT」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。addressOf.cast().elementAt(28).cast(); ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1112:29:エラー: クラス 'ENUMLOGFONTEX' に対して getter 'addressOf' が定義されていません。
「ENUMLOGFONTEX」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。LOGFONT get elfLogFont => addressOf.cast().ref; ^^^^^^^^^^ /C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src/structs.dart:1114:29:エラー: クラス 'ENUMLOGFONTEX' に対して getter 'addressOf' が定義されていません。
「ENUMLOGFONTEX」は「package:win32/src/structs.dart」からのものです (「/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/win32-1.7.4+1/lib/src」 /structs.dart')。名前を既存のゲッターの名前に修正するか、「addressOf」という名前のゲッターまたはフィールドを定義してみてください。文字列 get elfFullName => addressOf ^^^^^^^^^^
FAILURE: ビルドは例外で失敗しました。
どこで: スクリプト 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' 行: 1035
問題: タスク ':app:compileFlutterBuildDebug' の実行に失敗しました。プロセス 'command 'C:\src\flutter\bin\flutter.bat'' がゼロ以外の終了値 1 で終了しました
試してみてください: --stacktrace オプションを指定して実行し、スタック トレースを取得します。--info または --debug オプションを指定して実行し、より多くのログ出力を取得します。--scan を指定して実行すると、完全な洞察が得られます。
https://help.gradle.orgでさらにヘルプを得る
BUILD FAILED in 1m 6s 例外: Gradle タスク assembleDebug が終了コード 1 で失敗しました
dart - dart ffi を使用したタイプセーフなメモリ割り当て
ffi にメモリを割り当てるときに、コードをもう少し堅牢にしようとしています。
私は次の関数を書きました:
上記の関数を呼び出すには、次を使用します。
これは機能しますが、ご覧のとおり、Uint32 とsizeOf
.
私が本当に書きたいのは:
問題は、ジェネリック型をどちらにも渡すことができないかcalloc
、sizeOf
エラーなしで渡すことができないことです。
[...] への型引数はコンパイル時の定数でなければなりませんが、型パラメーターは定数ではありません。型引数を定数型に変更してみてください。
この問題を回避する方法はありますか?
c++ - ダーツで関数ポインタからの結果にアクセスする方法
dart の c++ 関数から戻り値を取得しようとしています。
私のC ++コードは次のようなものです
ダーツから、共有ライブラリにこのネイティブ コードをロードし、そのis_alive()
関数を呼び出そうとしています。
次にisAliveFunc
from dart を呼び出し、その関数の結果が必要です。私はこれらすべての方法を試しました。これらの作品のどれも。
私はこのような結果を得る Pointer<Int8>: address=0x1
dart でこのポインタから値を取得するにはどうすればよいですか? 結果として 1 または 0 が返されることを期待しています。
flutter - フラッタービルドウィンドウにdllを含める方法
私は、開発中に問題なく動作するフラッター プロジェクトに取り組んでいます。ただし、FFI を使用して参照される dll をビルドに含める方法がわかりません。
それを行う方法についての明確な指示が見つかりません。
msix hereをビルドする手順に従ってみましたが、動作しましたが、dll が含まれていないようでした (通常のビルドと同じように失敗します)。
ビルド プロセスで dll を考慮する手順は何ですか?
他の dll はサード パーティのパッケージからビルド ディレクトリに表示されるので、正しい方法があるはずです。