opencv4.5.0+aarch64交叉编译
1.下载并解压源码,在Opencv源码中创建⽂件夹build/和install/⽂件夹
system的头文件2.进⼊build/⽂件夹使⽤cmake-gui配置
配置源码位路径和build路径
选择交叉编译模式
Operating System(系统名称):Linux
C:⼯具链的gcc编译器路径。
C++:⼯具链的g++编译器路径。
Target Root:据说是头⽂件包含路径,但是随便设置也没问题,不知道具体是⼲嘛的,所以就随意设置成⼯具链的⽂件夹。Program MOde :Search in Target Root,then native system。(先在绝对路径搜索,再相对路径搜索)。
Libraries Mode:Search only in Target Root。(仅在绝对路径中搜索)
Include Mode :Search only in Target Root。(仅在绝对路径中搜索)
点击configure更新数据,若是出现⽆法⽣成有效⽂件的错误,则⽤su切换成root⽤户运⾏cmake-gui即可。设置源码位置和输出⽂件夹。设置库安装⽬录
设置如下图参数
到此参数基本设置完成,先点configure再点generate,第⼀次⽣成可能需要⼏分钟。
3.编译
在build/⽂件夹下执⾏ make -j8。
静等有⽆报错,有报错是很正常的,不要怕。有些其他问题忘了记录,先凑和这样吧…
错误1
原因
安装anaconda之后,很多默认的编译器都变成了anaconda⾃带的了,⽐如python和gcc等。
解决⽅法
增加  -D WITH_OPENMP=ON
错误2
解决⽅法:
修改opencv下的 /3rdparty/libpng/pngpriv.h  130⾏
# if(defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
改为
#if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \