项目需求。需要在rk3568开发环境中使用opencv。所有要编译出opencv的库文件。步骤记录如下:
1、下载opencv源码下载(本人下载的是3.4.5)Releases – OpenCV
2、安装cmake-gui 。使用sudo snap install cmake —classic
3、cmake-gui使用参考海思hi3516dv300开发—编译Opencv – 知乎
4、生成makefile,make后出现如下错误:
解决方法:
进入opencv目录下的3rdparty的对应目录CMakeFiles/ *.dir下,打开flags.make,在C_FLAGS = 后添加-O3 -fPIC用来支持在64位机上编译 如../3rdparty/zlib/CMakeFiles/zlib.dir/flags.make 修改C_FLAGS =-W -Wall 为 C_FLAGS =-O3 -fPIC-W -Wall 和 修改CXX_FLAGS =-W -Wall 为 C_FLAGS =-O3 -fPIC-W -Wall5、继续编译出现 undefined reference to ‘pthread_key_delete’
解决方法:
原因是cmake不认识我定义的arm-linux系统标记,没有加上库pthread和rt的链接选项 此时需要修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt6、继续make 出现undefined reference to ‘png_init_filter_functions_neon’等
解决方法:
修改 ${HOME}/opencv-3.3.1/3rdparty/libpng/pngpriv.h 128 /*# if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \*/ 129 # if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \7、继续make 出现undefined reference to ‘dladdr’等错误
解决方法:需要在cmake-gui中去除WITH_LAPACK
版权声明:本文为CSDN博主「DSZS123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dongshizhishui/article/details/121721495免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:瑞芯微rk3568中 编译opencv并配置环境变量-瑞芯微rk3588芯片应用在哪里 https://www.yhzz.com.cn/a/11283.html