opencv3.2.0遇到的问题

先按照官方文档来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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值