ubuntu20.04手动编译opencv 4.9.0遇到的问题汇总
编译流程
以4.9.0版本为例,可参考:
- https://docs.opencv.org/4.9.0/d2/de6/tutorial_py_setup_in_ubuntu.html
- https://linuxize.com/post/how-to-install-opencv-on-ubuntu-20-04/
- https://blog.csdn.net/weixin_44003563/article/details/90404745
- https://www.mintimate.cn/2021/11/07/installOpenCV/#导入Python
- https://blog.csdn.net/qq_25005909/article/details/78554469(主要参考)
分享下我的命令:
bash
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd opencv
mkdir build
cd build
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D CUDA_GENERATION=Auto OPENCV_EXTRA_MODULES_PATH=/home/user/yuanjinmin/opencv_contrib/modules/ -D BUILD_opencv_python3=ON -D PYTHON_DEFAULT_EXECUTABLE=/home/user/anaconda3/envs/yjm_slowfast/bin/python3.9 -D PYTHON3_LIBRARIES=/home/user/anaconda3/lib/libpython3.9.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/user/anaconda3/envs/yjm_slowfast/lib/python3.9/site-packages/numpy/core/include -D PYTHON3_EXECUTABLE=/home/user/anaconda3/envs/yjm_slowfast/bin/python3.9 ..
sudo make -j8 # 结合自己服务器线程
sudo make install
sudo ldconfig
export PYTHONPATH="$PYTHONPATH:/usr/local/opencv/lib/python3.9/site-packages"
python3 -c "import cv2; print(cv2.__version__)"
编译加速
https://blog.csdn.net/tfb760/article/details/104030841
ippicv_2021.10.0_lnx_intel64_20230919_general.tgz下载慢
可参考:https://blog.csdn.net/orDream/article/details/84311697
face_landmark_model.dat下载
可参考:https://blog.csdn.net/pzb19841116/article/details/115519158#comments_32285782
ubuntu20.04下编译opencv4.9.0时报错
/usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to ffi_type_uint32@LIBFFI_BASE_7.0' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to
ffi_type_sint32@LIBFFI_BASE_7.0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to ffi_type_pointer@LIBFFI_BASE_7.0' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to
ffi_type_void@LIBFFI_BASE_7.0'
/usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to ffi_prep_cif@LIBFFI_BASE_7.0' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to
ffi_call@LIBFFI_BASE_7.0'
可参考:https://blog.csdn.net/special00/article/details/135100639
text
Cannot generate a safe runtime search path for target opencv_imgcodecs
because files in some directories may conflict with libraries in implicit
参考:https://blog.csdn.net/cunyizhang/article/details/124968204
ImportError:libgobject-2.0.so.0: undefined symbol: ffi_type_uint32, version
使用export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libffi.so.7
之后在此窗口运行python项目可以解决(每次都要设置,除非放入.bashrc
中)