opencv - 使用 Yocto 的 OpenCV 4.4.0 构建错误
问题描述
我正在尝试使用我在http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/opencv找到的 opencv_4.4.0.bb 配方在 我的 Yocto 构建中包含 OpenCV 4.4.0 Yocto 版本是 2.2.0 (Morty)。
构建 opencv_3.4.3 时我没有看到任何问题。但是,我在使用 bitbake 构建 4.4.0 时遇到了错误:
bitbake opencv
. 这是错误日志的一部分:
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp: In function 'cv::Mat cv::intensity_transform::solveLinearEquation(const cv::Mat_<float>&, cv::Mat_<float>&, cv::Mat_<float>&, float)':
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:136:10: error: 'Index' is not a member of 'Eigen'
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:136:30: error: 'i' was not declared in this scope
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:145:10: error: 'Index' is not a member of 'Eigen'
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:145:30: error: 'j' was not declared in this scope
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:158:10: error: 'Index' is not a member of 'Eigen'
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:158:30: error: 'j' was not declared in this scope
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:160:14: error: 'Index' is not a member of 'Eigen'
for (Eigen::Index i = 0; i < W_h.rows(); i++)
^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:160:34: error: 'i' was not declared in this scope
for (Eigen::Index i = 0; i < W_h.rows(); i++)
我试图在网上搜索这些错误,但找不到类似的东西。似乎头文件可能丢失或不是最新的,但我不确定。有人遇到过 Opencv4 的这些问题吗?
解决方案
推荐阅读
- python - Python3,Scrape 返回 []
- kotlin - Jackson TypeReference 与泛型和注入依赖
- python-3.x - 在函数 Python 中克隆列表
- java - mongodb-java POJO 不返回 id
- math - iOS Metal如何计算核函数的标准差?
- html - 试图使边界曲线向内
- sql - 错误:ORA-00922:缺少或无效选项
- php - WiFiClient arduino 没有返回我对 php 网页的期望
- python - 有没有办法简化这段代码并得到相同的答案?
- java - 层次结构中没有找到匹配的视图:父视图中位置 0 的子视图父视图中位置 0 的子视图.getId