Flutter 无法使用dart:ffi在颤振中使用编译的C文件

Flutter 无法使用dart:ffi在颤振中使用编译的C文件,flutter,dart,Flutter,Dart,我正在尝试使用C代码并在颤振中调用main方法。我不确定我们是否可以在颤振中这样做 我编译了C文件,没问题。 当我在dart文件中使用它并使用命令运行它时 dart myDartCode.dart它可以工作 但在《颤栗》中,我明白了: 这是我的班级: import 'dart:ffi' as ffi; typedef HelloWorld = void Function(); typedef hello_world_func = ffi.Void Function(); class Tes

我正在尝试使用C代码并在颤振中调用main方法。我不确定我们是否可以在颤振中这样做

我编译了C文件,没问题。 当我在dart文件中使用它并使用命令运行它时

dart myDartCode.dart
它可以工作

但在《颤栗》中,我明白了:

这是我的班级:

import 'dart:ffi' as ffi;

typedef HelloWorld = void Function();
typedef hello_world_func = ffi.Void Function();

class TestFFI {
  TestFFI() {
    final dylib = ffi.DynamicLibrary.open(
      '/Users/vahab/Documents/Develop/vscode_test/flutter_vscode1/
      lib/funcs.dylib');

  final HelloWorld hello = dylib
    .lookup<ffi.NativeFunction<hello_world_func>>('hello_world')
    .asFunction();

  hello();

  print("DONE!");
 }
}
将“dart:ffi”导入为ffi;
typedef HelloWorld=void函数();
typedef hello_world_func=ffi.Void函数();
类TestFFI{
TestFFI(){
最终动态库=ffi.DynamicLibrary.open(
“/Users/vahab/Documents/develope/vscode_test/flatter_vscode 1/
lib/funcs.dylib');
最终HelloWorld hello=dylib
.lookup('hello_world')
.asFunction();
你好;
打印(“完成!”);
}
}

在颤振中是否可以这样做呢???

这可能是您正在使用的路径吗?尝试将动态库放入应用程序资源,然后将其复制到设备。之后在设备中使用新路径。请参阅此以了解如何从资产复制路径是正确的,我正在尝试创建正确的so文件。谢谢