编译opencv2.4.11时出现错误:error: ‘NppiGraphcutState’ has not been declared

安装cuda之后再安装opencv时出现错误:
 /data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared  
      typedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppStat  
                                                       ^  
 /data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp:135:18: error: ‘NppiGraphcutState’ does not name a type  
          operator NppiGraphcutState*()  
                   ^  
 /data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp:141:9: error: ‘NppiGraphcutState’ does not name a type  
          NppiGraphcutState* pState; 


cuda8.0较新,opencv-2.4.11较早,要编译通过需要修改源码:


修改/data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp

将  

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)   

改为  

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000) 

重新编译即可。

posted on 2017-06-15 16:00  jessezeng  阅读(3777)  评论(0编辑  收藏  举报

导航