Open LiuYanZu01 opened 6 months ago
Perhaps you use OpenCV 4.5.4 with OpenCV Contrib 4.x. Version mismatch between OpenCV and OpenCV Contrib makes these errors.
Please could you update OpenCV to latest 4.x branch if you want to use latest OpenCV Contrib ?
If not, please switch to 4.5.4 tag which is same as OpenCV. ( e.g. cd opencv_contrib; git checkout 4.5.4 ; git reset --hard
. )
cmake -DOPENCV_EXTRA_MODULES_PATH=/home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules ..
sudo make -j4
Scanning dependencies of target opencv_imgproc [ 22%] Building CXX object modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/accum.cpp.o /home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp:22:48: error: ‘VTraits’ was not declared in this scope const uint32_t v_float32_max_width = (uint32_t)VTraits::max_nlanes;
^::max_nlanes;
^
/home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp:22:68: error: ‘::max_nlanes’ has not been declared
const uint32_t v_float32_max_width = (uint32_t)VTraits::max_nlanes;
^::max_nlanes;
^
...and so on
~~ /home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp:22:65: error: expected primary-expression before ‘>’ token const uint32_t v_float32_max_width = (uint32_t)VTraits~~~~~ /home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp:22:68: note: suggested alternative: ‘max_align_t’ const uint32_t v_float32_max_width = (uint32_t)VTraits~~~~~ max_align_t /home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp: In function ‘cv::hal_baseline::simd128_cpp::v_float32 cv::signal::simd_cubicHermite(const v_float32&, const v_float32&, const v_float32&, const v_float32&, const v_float32&)’: /home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp:98:25: error: ‘v_sub’ was not declared in this scope v_float32 v_inv_A = v_sub(v_zero, v_A); ^~~~~ /home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp:100:53: error: ‘v_add’ was not declared in this scope v_float32 v_a = v_mul(v_sub(v_fma(v_three, v_B, v_add(v_inv_A, v_D)), v_mul(v_three, v_C)), v_half); ^~~~~ /home/ubuntu/opencv-4.5.4/opencv_contrib-4.x/modules/signal/src/signal_resample.cpp:100:53: note: suggested alternative: ‘v_a’ v_float32 v_a = v_mul(v_sub(v_fma(v_three, v_B, v_add(v_inv_A, v_D)), v_mul(v_three, v_C)), v_half); ^~~~~ v_a