opencv 4.5.5 ubuntu20.04
很久没编译opencv了 因为大多数用python 不需要,这回业务需要需要编译
正常的cmake配置:
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON .. #生成.pc文件
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. #安装路>径
cmake -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.5/modules \ # opencv_contrib所在路径
-D OPENCV_ENABLE_NONFREE=ON \
..
我记得以前都是很轻松的编译过了,这次卡了足足一天,各种找原因, 一直是找不到ffi_type_uint32@LIBFFI_BASE_7.0' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to
/usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: 对ffi_type_sint32@LIBFFI_BASE_7.0'的未定义引用
我之前以为是没有安装,但是安装仍然不行,最后查资料发现是因为anacoda的库没有引用系统的
所以 删除anaconda的 so库 ,链接 系统内的就ok了
删除
~/anaconda3/lib$ sudo rm libffi.so.7
连接到
sudo ln -s /lib/x86_64-linux-gnu/libffi.so.7.1.0 libffi.so.7
这样就解决了