先按照官方文档来https://docs.opencv.org/3.2.0/d7/d9f/tutorial_linux_install.html
注:cmake完整命令
cmake -DCMAKE_BUILD_TYPE=Release -D ENABLE_PRECOMPILED_HEADERS=OFF -DWITH_LAPACK=OFF -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 ..
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 ..
其中这一个步骤要改成cmake -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 …
(首先要在usr/local下建文件夹opencv320,命令如下)
sudo mkdir opencv320
1、cmake执行之后报错/usr/include/c++/9/cstdlib:75:15: fatal error: stdlib.h: 没有那个文件或目录 75 | #include_next <stdlib.h>
对cmake进行修改cmake时加上参数-D ENABLE_PRECOMPILED_HEADERS=OFF,继续执行成功
2、然后进行cmake -j8
出现错误
/home/x1/opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp:1541:21: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope; did you mean ‘AV_CODEC_FLAG_GLOBAL_HEADER’?
出现这种错误是由于ffmpeg引发的
在 /opt/opencv/opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp 里最顶端添加了:
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020
3、这时候程序报错
/usr/bin/ld: …/…/lib/libopencv_core.so.3.2.0: undefined reference to `cblas_zgemm(CBLAS_ORDER, CBLAS_TRANSPOSE, CBLAS_TRANSPOSE, int, int, int, void const*, void const*, int, void const*, int, void const*, void*, int)’
需要在cmake 选项加上:-DWITH_LAPACK=OFF
在回来make -j8
4、编译到100出现错误
make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:186:modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:3166:modules/python3/CMakeFiles/opencv_python3.dir/all] 错误 2
/home/x1/TOOL/opencv-3.2.0/modules/python/src2/cv2.cpp
打开报错的cv2.cpp文件,找到含有下面语句的这一行,并在前面加上强制类型转换(char )
PyString_AsString(obj)
即:
char str = (char *)PyString_AsString(obj);
5、最终cmake 参数为
cmake -DCMAKE_BUILD_TYPE=Release -D ENABLE_PRECOMPILED_HEADERS=OFF -DWITH_LAPACK=OFF -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 ..
编译遇到如下错误:
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_nppi_LIBRARY (ADVANCED)
https://blog.youkuaiyun.com/u014613745/article/details/78310916