c++ - 如何在 iOS 上调用使用 OpenCV C++ 的 Flutter 插件?
问题描述
我正在开发一个使用 OpenCV 为 Android 和 iOS 执行图像处理的 Flutter 插件。
遵循官方教程 on binding to native code using dart:ffi并遵循this answer on how to use OpenCV 4 in native C++ of Flutter我有一个插件可以由 Flutter 应用程序调用并在 Android 和我上执行 OpenCV 图像处理在 iOS 上测试插件时,我能够成功调用并检索正确的结果表单,即使用 OpenCV 的 C++ 函数。
当我从 iOS 上使用该插件的 Flutter 应用程序调用这些相同的函数时,我收到错误“无效参数:无法查找符号(dlsym(RTLD_DEFAULT,):未找到符号)”。
我认为这个问题可能与这篇关于在 Flutter 上使用 FFI 运行原生 Rust 代码的 Medium 文章中提到的问题有关,其中建议:
“XCode 不会捆绑库,除非它检测到工作区中的显式使用。由于我们调用它的 Dart 代码超出了 XCode 的范围,我们需要编写一个虚拟的 Swift 函数来进行一些虚假的使用。”
我已尝试按照上面在 ios/Classes/.swift 中的建议创建一个虚拟 Swift 函数,但该函数无法识别,并且构建失败并出现错误“使用未解析的标识符 '<my C++ function name>'”。
解决方案
推荐阅读
- bash - 如何将文本文件中的随机行分配给变量?
- python - 如何在数据框中为两行创建一个索引?
- databricks - Databricks Connect 测试未启动 - 服务“SparkUI”无法绑定到端口
- windows - 使用批处理文件为文件名添加前缀
- entity-framework - 从相关对象创建新的实体框架记录
- vue.js - vue.js - v-on:change - 我可以传递选择的 ID 值和选择的默认值。兄弟姐妹的价值呢?
- java - 通过 EWS 连接到 Exchange 邮件时出错
- java - Java代码陷入无限重复的while循环
- jquery - 通过 Ajax 将 jquery 绑定到更新的元素
- machine-learning - “OneVsRestClassifier”(Scikit-learn)和“Binary Relevance”(Scikit-multilearn)有什么区别?