esp32-opencv-master flann:错误:insn 不满足其约束:

esp32-opencv-master flann: error: insn does not satisfy its constraints:

提问人:Daniel Bajo Collados 提问时间:9/22/2023 更新时间:9/24/2023 访问量:35

问:

我遵循此存储库文本,以便能够在 ESP32-CAM 上使用 openCV。我能够使它与默认库(imgcodecs,imgproc和core)一起使用,但是在尝试添加calib3d时,我在标题上收到错误,引用了flann库。应该可以包含calib3d,因为在存储库中据说它已经过测试。我尝试添加它的方式是在 esp32/lib/opencv 上包含 de .hpp 文件和其他文件夹,就像默认库一样。之后,我将文件 esp32/scripts/build_opencv_for_esp32.sh 更改为也包含 calib3d。

在几个地方,我看到这可能是 dcc 编译器的问题,我应该得到一个 esp-idf 发行版,该发行版具有适用于此代码的 xtensa-esp32-elf-gcc 版本。但是,我找不到任何有效的方法。 您知道可能是什么问题或解决方法吗?

OpenCV ESP32 GCC-警告 Flan Xtensa

评论


答:

0赞 jcmvbkbc 9/24/2023 #1

insn 不满足其约束

此错误消息不完整,以下信息也很重要,因为它描述了触发此问题的特定指令。

您知道可能是什么问题或解决方法吗?

xtensa gcc 中有一个具有类似诊断的已知问题:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98470,一种可能的解决方法是使用该选项编译触发它的源代码。-fno-if-conversion

评论

0赞 Daniel Bajo Collados 9/25/2023
这就是做到这一点的方法。我修改了modules/flann/上的CMakeLists.txt文件以包含行set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -fno-if-conversion”)