opencv / opencv_contrib

Repository for OpenCV's extra modules
Apache License 2.0
9.32k stars 5.74k forks source link

Ubuntu 18.04 make -j4 时,报错 #3685

Open LiuYanZu01 opened 6 months ago

LiuYanZu01 commented 6 months ago

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; ^~~ /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::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; ^~~~~~ /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_nlanes; ^~~~~~ 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 ...and so on

image
Kumataro commented 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. )