错误:'memcpy' 未在此范围内声明(Ubuntu 16.04、opencv2.4.13)

我正在尝试为 Ubuntu 16.04 安装 opencv2.4.13,但在运行make命令时出现这样的错误。


[  1%] Built target opencv_core_pch_dephelp

[  1%] Built target pch_Generate_opencv_core

[  2%] Building NVCC (Device) object modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/cuda_compile_generated_matrix_operations.cu.o

/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’:

/usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope

   return (char *) memcpy (__dest, __src, __n) + __n;

                                          ^

CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:266 (message):

  Error generating file

  /home/savvycom/opencv-2.4.13.6/release/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.o



modules/core/CMakeFiles/opencv_core.dir/build.make:198: recipe for target 'modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/cuda_compile_generated_matrix_operations.cu.o' failed

make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/cuda_compile_generated_matrix_operations.cu.o] Error 1

CMakeFiles/Makefile2:890: recipe for target 'modules/core/CMakeFiles/opencv_core.dir/all' failed

make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2

Makefile:160: recipe for target 'all' failed

make: *** [all] Error 2

我的 cmake 配置是:


cmake \

-D CMAKE_BUILD_TYPE=Release \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D CUDA_GENERATION=Kepler \

-D BUILD_LIBPROTOBUF_FROM_SOURCES=ON \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D INSTALL_C_EXAMPLES=OFF \

-D PYTHON2_EXECUTABLE=/usr/bin/python2.7 \

-D PYTHON_INCLUDE_DIR=/usr/include/python2.7 \

-D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python2.7 \

-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython2.7.so \

-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \

-D BUILD_EXAMPLES=ON ..

有人可以帮我解决这个问题。


MMMHUHU
浏览 428回答 1
1回答

holdtom

貌似这个版本有BUG。它已在 opencv master 中修复。打开cmake/OpenCVDetectCUDA.cmake,在第 136 行或附近,添加此提交中所述的以下行:  set(OPENCV_CUDA_ARCH_FEATURES "${OPENCV_CUDA_ARCH_FEATURES} ${ARCH}")    endif()  endforeach()+ set(NVCC_FLAGS_EXTRA ${NVCC_FLAGS_EXTRA} -D_FORCE_INLINES)  # Tell NVCC to add PTX intermediate code for the specified architectures  string(REGEX MATCHALL "[0-9]+" ARCH_LIST "${ARCH_PTX_NO_POINTS}")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python