opencv_contrib icon indicating copy to clipboard operation
opencv_contrib copied to clipboard

Ubuntu 18.04 make -j4 时,报错

Open LiuYanZu01 opened this issue 11 months ago • 1 comments

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<v_float32>::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<v_float32>::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<v_float32>::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<v_float32>::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

LiuYanZu01 avatar Mar 05 '24 10:03 LiuYanZu01

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. )

Kumataro avatar Mar 06 '24 09:03 Kumataro