centos7 make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_jpeg2000.cpp.o] 错误 1

问题描述:

[plain]  view plain  copy
  1. [ 17%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_jpeg2000.cpp.o  
  2. In file included from /usr/include/jasper/jasper.h:77:0,  
  3.                  from /usr/local/opencv-2.4.9/modules/highgui/src/grfmt_jpeg2000.cpp:58:  
  4. /usr/include/jasper/jas_math.h: 在函数‘bool jas_safe_size_mul(size_t, size_t, size_t*)’中:  
  5. /usr/include/jasper/jas_math.h:143:15: 错误:‘SIZE_MAX’在此作用域中尚未声明  
  6.   if (x && y > SIZE_MAX / x) {  
  7.                ^  
  8. /usr/include/jasper/jas_math.h: 在函数‘bool jas_safe_size_add(size_t, size_t, size_t*)’中:  
  9. /usr/include/jasper/jas_math.h:170:10: 错误:‘SIZE_MAX’在此作用域中尚未声明  
  10.   if (y > SIZE_MAX - x) {  
  11.           ^  
  12. 在全局域:  
  13. cc1plus: 警告:无法识别的命令行选项“-Wno-unnamed-type-template-args” [默认启用]  
  14. make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_jpeg2000.cpp.o] 错误 1  
  15. make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 错误 2  
  16. make: *** [all] 错误 2  

错误原因:2017年5月15日,centos更新了jaspe-devel包为jasper-devel.x86_64 0:1.900.1-30.el7_3(旧版本为jasper-devel-1.900.1-29.el7.x86_64)
解决方案:
vi /usr/include/jasper/jas_math.h
#在 #include  后添加
#ifndef SIZE_MAX
#define SIZE_MAX (4294967295U)
#endif
原文地址:http://blog.csdn.net/lwgkzl/article/details/76944934

你可能感兴趣的:(linux)