I am trying to include OpenCV 4.4.0 in my Yocto build using the opencv_4.4.0.bb recipe I found at http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/opencv My Yocto version is 2.2.0 (Morty).
I don't see any issues when building opencv_3.4.3. However, I am running into errors when building 4.4.0 with bitbake:
bitbake opencv.
Here's a part of the error log:
/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++)
I've tried to search for these errors online but I can't find anything similar. It appears that a header file might be missing or not up to date, but I'm not sure. Has anyone had these issues with Opencv4?