Flutter 插件项目找不到 C++ 库

Flutter Plugin project could not find C++ libraries

提问人:top 提问时间:10/25/2023 更新时间:10/25/2023 访问量:33

问:

TL;博士;使用 .framework 作为 iOS 库的 Flutter 插件项目,无法找到某些 cpp 库,例如 <list>

我正在开发一个包含平台原生代码的 Flutter 应用程序。平台原生代码,ios和android,使用相同的基于C++的库。唯一的区别是库导入方式。对于 android 平台库添加为 .aar 文件,对于 iOS 平台库添加为 .framework 文件。

我决定将我的应用程序添加到本机 android (java) 和 ios 应用程序 (swift) 中。经过短暂的调查,我发现我需要两样东西;

  • Flutter 模块项目将应用程序集成到移动应用程序中
  • Flutter 插件项目:在模块项目中使用我的自定义库。

我创建了两者并在 android 上成功运行,没有任何错误。但是,在 ios 平台上,模块项目找不到某些 c++ 库,例如 <list>。

..../customLibrary.framework/Headers/xyz.hpp:XX:YY 'list' file not found

我已经在 .podspec 文件中添加了几个 c++ 定义,但它不起作用。

 s.library = 'c++' s.xcconfig = { 
    'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11', 
    'CLANG_CXX_LIBRARY' => 'libc++' 
}

而且我无法将库移植为 plugin:ffi。因为 .aar 文件包含 java 和 .framework 文件 .mm 文件。

如何将 cpp 依赖添加到我的 Flutter Module 项目或 Flutter 插件项目中?

C++ ios框架 插件 flutter模块

评论


答: 暂无答案