問題タブ [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.

0 投票する
1 に答える
820 参照

linux - Linux での Dart / Flutter ffi - CMake の設定の問題

現在、Flutter プロジェクトで Linux デスクトップ アプリケーションの C++ 関数を呼び出す必要があります (dart:ffi を使用)。このページhttps://flutter.dev/docs/development/platform-integration/c-interop#first-party-libraryでは、Linux でこの種のプロジェクトを構成する方法について説明していません (Windows の場合もありません)。

何度か試してみましたが、C++ ライブラリを正しくリンクできません。

C++ 関数

CMakeLists.txt に次の行を追加しました。

最後に、次の方法で Dart にリンクしています。

正常にコンパイルされますが、起動時にプログラムは次のエラーを返します。

また、動的リンクも試しました (ライブラリをSHAREDCMakeLists.txt のようにマークし、.xml でリンクしますDynamicLibrary.open("libmy_native.so"))。またDynamicLibrary.process()、2番目のCMakeLists.txt(linux/flutterにあるもの)内にCMake行を呼び出して配置しようとしました。シンボルを見つけることはありません。だから、私はここで何かが欠けていると思います。どんな助けでも大歓迎です。
よろしくお願いします

0 投票する
0 に答える
78 参照

ios - IOS dylib エントリ ポイント

Dart ffi (外部関数インターフェイス) を試しており、dart から IOS AVFoundation dylib を直接呼び出すことを検討しています。

ffi を使用するには、AVFoundation dylib を動的にロードする必要があります。

これらは、いくつかの疑問につながります。

  1. AVFoundation dylib のパスを見つけるにはどうすればよいですか?
  2. dylib へのエントリ ポイントのリストを取得/検索するにはどうすればよいですか?
  3. dylib を直接ロードしますか、それともフレームワーク経由でロードする必要がありますか?
  4. (コア機能のために) 他の dylib をロードする必要がある可能性が高いため、理想的には、dylib へのパスとその一連のエントリ ポイントを識別する一般的な方法が必要です。

動的にロードされた dylib を使用するアプリの出荷に問題はありますか? アプリ ストアが、動的読み込みを使用するアプリのアップロードを許可していない可能性があることを示唆しているように思われるもの (現在は紛失しています) に遭遇しました。

Av Foundation からの呼び出しを効果的にプロキシする小さな Objective-C ライブラリを作成する代替パスを検討していますが、Objective-C/Swift コードを回避しようとしています。

0 投票する
1 に答える
212 参照

android - ffi に含まれるライブラリの使用中に Flutter generateJsonModelDebug

パフォーマンスのために dart FFI を含むフラッター ライブラリを使用したい。
ライブラリ名はビットマップであり、ドキュメントには使用に必要な特別な設定は何もありません。
そこでbitmap: ^0.0.6、pubspec.yaml に追加してビルドします。
しかし、ビルドエラーが発生し、次のように表示されます。

FFI に含まれるライブラリを使用する前に、何かすることはありますか?
またはどうすればこれを修正できますか?